
09/06/2026 09:56:20 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 09:56:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 09:56:20 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)
[09/06/2026 09:56:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 09:56:34 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 09:56:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 09:56:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 09:56:38 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 09:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

[09/06/2026 09:56:38] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 09:56:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:04:46 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 10:04:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:04:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 79626800
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 10:04:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:04:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:04:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:31 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 10:06:31] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 10:06:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:06:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [RutCliente] => 79626800
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 10:06:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:06:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:06:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:06:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:06:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:06:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:06:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:06:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:06:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:06:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:02 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 10:07:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:07:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:07:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:07:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:07:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:07:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:07:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:07:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:49 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:07:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:07:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:07:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12673
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12673
                

09/06/2026 10:08:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 10:08:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:08:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:08:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 10:09:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:09:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                
[09/06/2026 10:20:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:20:36 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 10:20:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:20:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 10:20:38 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:20:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:50 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:20:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 10:20:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:20:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:20:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:20:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:20:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:21:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:21:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:21:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:21:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:02 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 10:25:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:25:02 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 10:25:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:25:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:07 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:27:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:27:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:27:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:27:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 10:28:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2TzcfFGPGQdw6YhdRr3tV_FXc2CnplDi1IFSD6zEbzTLCLT+PD3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMkDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYBBAUDAgf\/xABAEAABAwMCAggCBgcIAwAAAAABAAIDBAURBiESMRNBUWFxgZGhIrEVIzJSwdEHFDd0gtLwFiQlQpLC4fFDorL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEBAQFBAMAAAAAAAAAAQIDERIhMUEEIlFxE0JhgTLB0eHwFDM0cpGhsf\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAFyNQ3wWakaY2CWpmPDFGevvPd+a66mI\/8R19IXfHHQQ4bnkHHHv8AEfTwU4JN3ZRXlJRSjq3Yw226tlZ0sl2hjkO\/R42HcSB+aUuo6621LaLUNP0fFsypaPhPjjb05diqFq3C3wXOikpahuWPGx62nqI7wu408mit0JRzpyd\/V3TNlrg5oc0ggjII61lTukamUU9Va6h2ZaCXgzk\/Z5Dn3g+yolGSs7F9Kp4kFIIiKJYEREAREQBERAEREAREQBERAEXy97I43SSODGNBLnOOAAOslTMms+Jz5qW2zz0cRIkmAIA7Or5qSi5aFVStCn8TKhF40lXBXUzKmnfxxvGQcYXsoliaaugiIh0KXtX931zc4DnMsfGMjwP4qoUrqJxtWpLbds4id9VKcZA7T6H\/ANVZDO6MvE8qjPo\/sVSIvGqqY6OllqZThkTC4+SrNLaSuyesYI1deNsNz5ZyMqnUfpauo6SlqrlcKuCKetmLiCcHGezsySuuNW2Iu4RXjOcbxvA9cK2cW3kjHw9WnGmsUkr3evVnZReNNWU1bEJKadkrD1sdleyqNiaaugiIh0IiIAiIgCIiAIiIAiIgJrV8stQaKz08nA+slHHz+z+Wd\/JdymoKakoW0UMQEAaW8J3yDzz4rg1GZ\/0h0wPKCnJA7dnfzeyp1ZLJJGWilKpOb629kSdoL7BqSSzOJ\/VKnMlOXHkcf8EeQVYp7WFJK6giuNNtPQyCQEc+Hr98H1XYt1Y24W+CrYMCVgdjsPWPVJZpSFHklKl7rt9jZREVZqC5OpqA3GxTxMaXSMHSMAPMj\/jK6yLqdnchOCnFxe5y9OV30hYqaYuy9rejfvk8Tdt\/Hn5rZudviulBJRzOc1kg5tOMEbjx3U\/Y8WbVFZZ9xDP9bAD4Zx6ZH8Kq1KWUropovxKWGe2TODRaNs9K0dJC6peN+KV34DZb5sdpczgNtpcYxtC0H1wt9Fxyk9yyNGnFWUUSNwpmaZvdDV0OYqSof0c0WSWjOMn03\/hVcpzXMbX2DjI3ZM0tPqPxWPpmo+4z\/U\/+ZTacopmaM40akobZMpF5zTw00RlnlZFG3m55wAvK4V8FtopKuodhkY5dbj1Ad5Uxb7XU6qP0leJHtpuI9BTsOBjt8PcqMY3V3oX1Kri1CCvJ\/mZuza2tjZHR08VRUuHIxs2Pqc+y8\/7ZPYC+azVccQGeMg8vTs71Q0tJT0UIhpoWRRjkGhey7eHQj4dd5udvY5Vu1Ha7o7o4KgNkzgRyfC4+Hb5LqrlXTTluurXGWERzH\/yxjDs78+3mufY6+rt9w+gbo8vkALqeYn7beoex9MLmFNXiFUnCSjU33RSoiKBpCIiAIiICYh3\/AEh1AIzw02x7Nm\/15qnUxB+0Sp\/dh8mqnU57djNw\/m\/szzmhZUQSQSDLJGlrh2gjBU5pR77fV11infl1O\/jiz1tP9A+ap1MakYbde7demN+Bruind1AHkTjuJ9AuwzvE5X5XGqttez\/LlOiwCCMg5BWVWagiIgJrWEMtOKS802BJRP8Ai72kjGe7O38S2NM3yW8irM3ADHICxoGMMI2+XNdaspIq6jlpZhlkrS093eoPSk0lr1M6hnPDxl0LhnbiHL3GPNXRtKDW6PPqt0uIi\/LLXvofoaIipPQJnXL3m2U1PGcPmqGgb45A\/iQut9CUX3X\/AOpcjUANw1Jarew5ETumlA3wOe\/k0+vhmnVjdopGSEVOrNtX0RL3Rjr5qmC1nBpaQdNMMg8R7D6geBVO1oa0NaAABgAdSmbTj+3N2yQHdGMN7R8O\/wAvVU6T2RLh88U3q2\/9ZBERVmkKY1aGwV1prGtHTMqA0E9YyDgqnUxqwia4WijaMvkqOLwGQM+\/sp0\/iM3FftP2\/wClOiIoGkIiIAiIgJiD9olT+7D5NVOpiD9olT+7D5NVOpz27Gbh9Jf2YWpdLfFdLdLSSjZ4+E\/dd1H1W2sFwaMuIA7Sop2NEkpJp6HB0lXSzUMtDUu\/vFC8xOBOTw9XuCPILvqOlraO361iqaOpilirR0c7Y3B3C49e3fg+qsVOazv1M\/DTvFwbzjl9AiIqzSFGaytslJVw3yk+FzXASYHJw+y78PRWa8aqmhrKaSmnZxxSDDgpwlhdyivS8Wm477dzNNOyqpoqiM5ZKwOHgQvqWVkMT5ZHBrGNLnOPUBzK+aaBlLTRwRDDI2hrR3BTd5uM18qXWO1Djadqmfm1ozy\/ryXFG7O1Knhwu9enVmdMcd1udbfZmEB7uih4upu3LwGN+vJ781C16GjioKKKlhaGsibgY9z6rYSTuxRpuEEnrv3JjUtNPbq+DUFEzidD8NQz7zeWfw9Oxd6groLlRx1VO7iY8eYPWCthzQ5pa4AgjBB61JSxS6Ruz6qJpdaalwD2DfonH8vkcKS5lbcqlejNz8r19H1+pXIpp13motRxySziW23BoED2gYa7Yc\/659ypVFxsX06ine2wUs3\/ABPXzjuYrfFt2cX\/AG72VQ5wa0ucQABkk9SmdGsfOblcnhwNVUHAcMcsn\/djyUo5Jsqrc04Q9b\/4+5ToiKs0hERAEREBMQftEqf3YfJq2LhqaSmrpKGjtdRVzR7OwCADzHIHqK14dv0iVGds0wx37NVK1jGuc5rQHPOXEDc9W6tk0mrrYxUoykpKLtzMmM6wuIBAp7czPXgk\/wD0fkvpujXVJ4rndqqqOc4BwPfPcqdFzxHtkWfpYP425d2TV40tRtscjLfTiOeLEjXDdzy0cs+GfNdKwXMXW0xzkgyN+CTGccQ8fI+a6al9OA0Oo7vbSfh4umY0cgM\/k5vol8UXfYi4qlVi4qyeXzRUIiKs1hERAad1opbjb5KWKqdTGTYyNbnbrHMc1i12qltFIKembtzc8\/aee0rdRdu7WIYI4sdswiIuEwvOaGOohfDMwPjeMOa4bEL0RBqfn13t7rZPJZiXPpan62kLtyyQZ+EePLzBVZpy5i6WaGVzuKVg6OXPPiHX58\/NZ1BZ23i3GJuGzx\/FC89R7PNTehal8VyrKOb4XvbxEHY8TTgj39le+eF90eZFOhxKj5Zfn53Ky7S9BZ6yXrbA8jxwVoaPiEem6cgY6Qvdj+Ij5BbOoYnzafrWM59ET6b\/AILy0vNHNp2kMZ+wzgd3EHdV+T3NT\/kLt8zroiKBpCIiAIiICYnPRfpDp9sdNSnz2d\/KqdTF4+p1raJzsHtMYI553H+5U6nPRdjNQylNevyQREUDSFxW2moj1c+5xlgglg4JMncnYYA8gu0i6nYhOCna+zuERFwmEREAREQBERAEREAUJrC2yW64x3ekLmCV\/wATmnHA\/wAu3f3V2tO7ULbla6ikIBMjDwZ6ndR9cKcJYZGfiaPi02t9jT03eBerXxyAdNGeCVvb2Hz\/ADXPktN2sU8s9kc2eCQ8TqZ49dydz4f9zemLi6z3sMmPBHKeimaf8pzsT4H8V+mKc1gllozPw8lxNJYnzLfcmG6zFMSy52uqppG7HhGRnzx+K24dYWSY4NUYznA443D3xhdsgEYIyCtSe0W2pGJqGnfjkTGMjzULwexfgrx0kn3X0NObVdkhbk1zXnsY0uJ9li06khvFa+CnpZ2xtZxdK8ADOeWy2orFaYSCy3U4I6zGD81vBoaMNAA7AjcbZI7GNZu8mreiMoiKBoJvVsM36xaquKJ8gp6jLuBuSN2nl\/CqRYIB5jKypN3SRXGnhnKXUIiKJYEREAREQBERAEREAREQBERAEREBGar0vPPVGvt0JkMh+tjad8\/eCqLW6d1rpjUsLJuiaHtcMEHCIpuTcUmZoUY06rlHc20RFA0hERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:28",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:28:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:28:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:34 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

[09/06/2026 10:28:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 10:28:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:38 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 10:28:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:38 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:28:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 10:28:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:28:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:28:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:28:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:28:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
=========================================
FECHA: 09/06/2026 10:29:27
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--Y0Gv7+I_g2stox+qJGjae5s+8E6jJ6_GGf43lfDNy9B0Y+SkFW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAOIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMBBAcFBQUGBwAAAAABAAIDBAURBhIhMUETUWFxgZGhFBUiMrEjQsHR8AckNlLCFmJzsuLxMzQ1cnSi0v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALxEAAgECBAQFAwQDAAAAAAAAAAECAxESITFBBBNRcSIyYbHBM6HRgZHh8BQjQv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAWBctTdHVewWmD26s4ED5WHt68c9471z1Pc5qWmioqLfWVjthgHEN5n6evUvTYrJBZaMRMw+Z++WXG9x\/IKaSSuzNOU5z5cMrav4XqZYoNWVXxzXKCmB+4wcPIfjySRmq7WGOjlhuUY+ZpGHcfA8xw6uHXTomP0H+MtpO\/cx7NqSju73Qhrqepbxhk4nrx1rYWJqHTzLrF7RT\/AGVdFgxyA4zjkfwPJdmnbs+6ULmzsLKmnPRyg8z19nAo0mroU5zjLl1Ndn1\/k10RFA0hERAEREAREQBERAEREAREQBERAEREARF4am92yjnEFRWxRyEE4J4d\/VwXUm9CMpRirydj3IuLHskaHscHNPAtOQVyXCQREQExI0VX7QYw8hwpqfLW9Rx\/qVOpeY+x\/tBie75aun2QTyOP9I81UKc9uxm4fWfdhERQNIUxpv8AiO+bIGyJuIHPacqGrqWUdJLUyEBkTC45PUFh6Np5Bbpq+cHpa2UyHPMf75U45RbM1TOtBLa7+CiREUDSEREAREQBERAEREAREQBERAEREAREQHivFb7utFTVg4dHGdgkZ+I7m+pCx7Bp2gms7KitpmTzVWZHOeDkA8MdW79FfdcyFliYwbzJO1uMZzuJVDDG2GFkTflY0NHcFZe0MtzK4qpXakrpL3JQGfR1e1hc6W0VL8DPGF3688Kta4OaHNIIIyCOa8tzoI7nb5qSUDEjfhOPlPIrJ0bXPqLU6jmyJqN\/RuaRvA5fQjwR+KOLc5D\/AFVOXs9PTqihREVZrMTU1rnrqWKqoiRWUjtuLHE9Y9F6LDeY7zQCUDZmjw2Zh5O\/IrTUpe6GexVvv21j7Mn96gHBwPE\/rgd\/WrI+JYWZaidKXNWm\/wCSrReegroLjRx1VO8OY8Z7jzB7VwudNPWW6anpqg08r24bIOX5Z4KFs7M0YvDijmTOrbq64PZZbaDUPc7M3RfFw+7+J6sLug05eamBkNZczS0rQA2np\/5eokYH1WrYLFDZKTZBElQ\/fLJjj2DsWsrHO2UTJHh3NupV1e3wTLdD0cRD4K+sjlznb2m8fILjSVtysd2itt0nNVTVLsQ1LuOcYwfHCqFOa3YPcjJgBtwztc0kZ6wkZOTtIVaMaMHUp5Nfco0XVSvMlLC93FzGk+SKo2J3VzsJAGScALOn1DaKYkSXCHI5Ndtcs8srHrmTajv01s9pfDR0gzK2M4LyfQ8u7tWpTaXs1K0BtDHIQPml+Mnz3KzDFambmVJt8tKy3Yi1RZJnBrLhGCTj42uZ9QFpRTRVEYkhlZIw8HMcCPMLwzaes9Q3ZfbqcD+4zYPm3Cyp9HNp39PZq2akmH3S87LuzI3j17ktB7jFxEc2k+2XuU6KWj1Hc7S4R3+iIYTstqIhucd3Vu4ZPLhwVLDNHUQsmheHxvGWuadxCjKLRbTrRqZLXpudiIiiWhERAEREAREQEzq\/7aptFIQMTVQznvA7\/vKmUxqn\/rmn\/wDyf6mKnU5eVGal9Wp+nsFK1JfY9ZxzgYpbnhjgOAfuH1wfEqqWNqq3OuNkkEf\/ABYD0zMcyAcjyz6JB52e53iItwxR1WaNlFnWG4e87NT1LnB0mzsyf9w3H8\/FaKi1Z2LoSUoqS3C4ua17Cx7Q5rhggjIIXJFwkQtbRVmm77E+jfM23zzNd0cTjv372Ec+fgrpfCAeIyvqnKWKxRSoqk3Z5PboERFAvCmdcv27bS0jMGWeoAa3rwD+JHmqOWVkMT5ZHBrGNLnOPIDiVK2uOTUmoHXeZpFHSO2aZpbufvOD3jj346lZDJ4uhl4l4o8pay9t2VbGCNjWN4NAARckVZqJiE+w6+mY4FrK2EFvAAkAf\/JVOpfWcLoG0V3haOkpJRndxGcjPZkeqpYZWTwsmjOWSNDmnsO9WSzSZlo+Gc4et\/3OaIirNR1zQxVETopmB7HDBa4bipWaGXSFximp3SPtU78SR42ixx9eWR3YVcvFeKVlbaKqneMh8Zx3jePUBTjKzs9CivTxLEvMtD1tc17A9py1wyD1hclh6OqHVGnIA45MRdHnOdwO70IC3FGSs7FlOeOCl1CIi4TCIiAIiICY1P8AHqCwsHEVG1\/7M\/JU6mNRb9T2MDeRITjxCp1OXlRmo\/Uqd17IL4QCMEZBXGSWOFhfLI1jRxc44Cwq3WdrpiWU5kq5N+BE3dnvP4ZXFFvQtnVhTXidjy2ICzanrrPh3Qz4lg6huzjy3Z\/uqqUDda+5S19LfZLTJSxUrg3LiQXDPA8N288uavGPbJG2Rjg5rgC0jmFOotGZ+EmvFBaJ5dmckRFUbAiIgC4uc1jC97g1rRkknAAXTW1sFvpH1VS\/YiYN5xnwUwW3DWMvxCShtbDw+9KeX64DtUoxvm9CirWUHhSvJ7HKrrajVdb7vtxcy3MIM9Rs\/Pjlv+ip6SkhoaSOlp2bEUYw0L5R0dPQUzaaljEcbOAH1PWu9dlK+S0FKk4tym7yf9sgiIoF55blRMuNuno3nAlZjPUeR81kaPq3vt8tvqD+8UMhjc0nfjl65HgqFSlzLdO6niugZ+61oMc+Pundv9AfNWRzTiZa3gnGr+j7P8Mq0XwEEZByCvqrNQXXUENppXHcAwk+S7F47vOKa0Vcx+5C7HacbvVdWpGTtFsyNDNI0+SecziPIKjWJo+ExabpyRgyFz8eJH0GfFbalPzMq4ZWox7BERQLwiIgCIiAmLxh+tbQw8mF31\/JaF6uFzp3sprZQGollaSJCfhZ38vVZ91\/jq1f4R\/qVOrG7WMdOLk6iTtn8ImItJz1z2z3y4y1Mmc9Ex2GDs\/2AW7RWyit0exSUzIh1gZJ7yd5XqRRc2y6FCnB3Sz67nRW0kVfRy0s7cxyt2T2dR8DvWBpepmoqqosFY7MlN8ULv5mfogjvPUqZTGq2Pt9XQ32BmXU79iXHNp\/RHipQz8JXXWBqqtte39zKdFwikbNEyVmdl7Q4ZGNxXNVmoIiIDjJGyVhjkY17HcWuGQV9a0NaGtAAAwAOS+ogCIiAIiIAvBera262uakONpwzGTycOC96LqdncjKKlFxejMDSNydV2w0k+RUUZ6N4PHHL6Y8FvqOvMjtO6oiuccZFPVAiYN4OPPuPAqvY9skbZGODmuALSOYU5r\/AKW5n4ebs6ctY5fg5LB1nUdBp2Vu1s9M9seRx45PoCt5TGrcT3Cz0PKWoy7sGQPxK5T8yJcS7UZW3y\/fI3bbTCktlNTgY6OJrT343+q9SIoPMvSSVkEREOhERAEREBMXX+OrV\/hH+pU6nblS1Ems7ZUMgkdCyMh0gYS1vzcTwColOeiM1BNSn3+EERFA0hZ1\/pzVWKshbG6RzoyWtaMkkbxgd4Wii6nZ3Iyjii4vczdPNmZYKNk7CyRseC1wwQM7t3dhaSIjd3cQjhio9AiIuEgiIgCIiAIiIAiIgPLcqCK50EtJN8sg3OxnZPIqb0zeJqKq9wXMbEkZLYXn\/L+R8OpVyn9UafN0gFVSDFbCPhIONsdXf1KyDXlZlrwkmqtPVfdFAsq+2Y3aKF0U3QVNM\/bhk6jkZ+g8l49Mag94xexVjtiuh3EOGC8Dn39YVCotOEiyLhXp+jJdtVrKmaA+hpaoDi4EAnycPovpu+qm73WSIgccO3\/5lTou410RDkS2m\/t+CY\/tNd6f\/m9PT7I4vjJIHofqu+k1nap3bE5kpJAcESs3A94\/HCoF5qq3UVcMVVLFN2uaCR4rt4vVDl1o+Wd+6\/B2QVMFUzpKeeOZn80bg4ei7VNTaUkpJvaLHWvo5B9x7i5h4nB49nHK6zetQ2lubnbRUxAj7WDkOZOM\/QJgT8rOc+UPqRt6rNFSi66eZtTTxzsa5rZGhwDxgjPWF2Ks1J3zCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAwL\/AKbZXONfROMFfH8TXN3bZHDx7U05qP3qX0lXGIayIb28NvrOORHMfob68gtlELh7wEAFSRgyAkZHDeOBU8V1ZmZ0XGpjp5X1XX+T1oiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:29",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "10:28",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:29:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 10:29:33 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:30:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
[09/06/2026 10:30:55] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 10:30:55 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 10:30:55] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 10:30:55 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 10:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 10:30:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:30:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 10:30:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-EydY8dU1s.yvXLoX6p1uINMleNarArqoqEEfq+xoYTIfb9HXP8I
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/APgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA\/EAACAQMCAwQGBwYFBQAAAAAAAQIDBAUGERIhMUFRcYETIjJhkaEUI0KxssHRFTM2cnPwFjVDkuEkUlWCov\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALhEAAgIBAgQEBAcBAAAAAAAAAAECEQMhMRITQVEycYHBBBTR8CMzUmGRoeGx\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxVk4Upyik3GLaTK7T+Wlmsb9KnCNOSm4OMXvttt+pNOrKOaUlHqzxzGprXGS+j0Yu7u2+FUab6P3\/ofMKs7cXMr3JzhQoyg1C1jHmufV93x+BZUsfZ0LmdzStaUK1T2pxik2SS1qqSM1jm58U5ei9+4ABQ3AAAAAAAAAAAAAAAAAAAAAABGyNWpRxt1VpfvKdGcoeKT2CIbpWSSmyuqMdi26XG7i47KVLnz976IrbaGW1BgbGMbtU6c1NXNT7UtpNL5L3dS3xencdiUpUKPHVX+rU5y8u7yNKjHc5uZlypctUu79kVUZ6oze06ap4q3b3XFvxtf34HX+Er2q97jUF3UTXNLf8AOXeacDjfTQn5aD8bbfn9DMLRi355e82\/mNNFcMUt29l1Z9BVyctzTHihj8KAAKmoAAAMxor6qnkbXoqVy+Xd2fkaczGmPq8\/naS6en4l7vWl+vyLx8LObLplxvz\/AOGnAPG6u7eyoSr3NWNKnHrKTKHQ2krZ3Vq06NKVWrNQhBbylJ7JIqMPnZ5nIXMaFDayopKNZ7pyl\/f5d5VSd5rKu4wdS1xNOXXZcVVr+\/BeJqbS0oWNtC2tqap0oLZJGjSiqe5zQnPLK46RX9\/4ewAMzqAAAABVZbUNhiIyjWqqddLdUYc5Pu37vMlJvRFZzjBXJ0i0clFbyaS72fIyjOKlCSlF9GnumZSlicrqSpG6y9WdrarnTt6fJ+fd4vn4GntLWlZWlO2opqnSXDHd7vYmUUupnjySm74aX30PYAFTYAAAAAAEXJ\/5Vd\/0J\/hZKIuT\/wAqu\/6E\/wALJW5WfhZWaM\/hqh\/NP8TL0otGfw1Q\/mn+Jl6Wn4mZfDfkx8kAcTq06bip1Ixc3tFSe3E+5HZQ3AAAAAAAAABmNOfxNnP6q++RpzMYduGtcvTT9WUFJ+PL9WXjszmzePG\/39macpMhp1ZXMQuby4lO0pwXDbptLi7fL5\/AuwVTa2Np44zVSOYQhTgoU4qEYrZRitkjoFHnNSUcdva2i+k38\/VhSh63C\/ft93UJOTpETyRxxuRMuMxb2+Wt8a1Kdaum\/U2fBst+YIOm8JWsnVyGQl6S+uecm+fAu7x7\/AEySTpEYnOUeKel9C+PjaS3b2SPpmNQX9xkb+On8bJKdRb16qf7tLnty6dOfil2iMbYy5Fjjf8AB8yGfuspcvGafXHPb6y6+zFe5\/n8CdiNM2eMca9SP0i86yrT7H27Ls+8n47G2uLtVQtaSgtlxS25zfe2SyXLpHYzhhbfHl1f9Ly+oABQ6QAAAAAAAAARMq1HEXknySt5t\/7WSyq1NcRt9O3knLbip8C97ly\/MmOrRnldQb\/Yj6NTWmbdvtlNr\/cy9KzTls7TT9nSkmn6Piaa224nxfmWZM3cmVwKsUU+yK3OYmGXsHS3cK1N8dGae3DIi6WytXI4+VG6bd1ay4Ku\/V9zfv5P4F4ZWpviNdxkuVDJQ2e0eXF0+O6T\/wDYtHVOJnl\/DyRyLro\/Y1QAMzqAAAAAABmMvbXuKz6ztnRdxRqQULinBby226+HJfA04LRlTMsuNZFV1Wpn4a1xD5VZVqMl7UZ03un3cjirrbG8Xo7WlXuqj9mMYbbvz5\/Ivalna1W3UtqU3LrxQT3OqVCjR39FShT3\/wC2KRNw7GfBn24l\/H+mZS1PnY7T4MVbN8+TVRr7\/wAJbYnT9jh1xUYupXftVqnOT8O4tAHNvRFoYIxfFLV92AAUNyuzuUjiMVVun7fs013yfT9fIiaWxsrWxd7c+teXr9LVk1zSfNL57v3sq8zWoZPVNGyvK9OhZ2a45+lmoqpLfpzfbyXxLW71dhrRP\/qfTyX2aMeLfz6fM14Xw0upw8yDyuc3SjovPq\/YuwZhasvLjnZYG6rQfSfPb5L8ws7qKS3jgGt30bZXlyNfmsfS36M04Mx+3NSf+A\/+mP8AF1xZ1FHLYmvbQctlUSbT8ny+DHLkPmsfW15pmnBHsr+1yND01pXjWhvs3HsfvXYSCmx0Jpq0AACQAAAZjW9SVS0ssfDfjurhbbdqXL75I05l5t5LXsIJOVLH0t2104mu\/wAZL4F8e99jm+K1hwfqaX36GmjGMIKEVtGK2S7kdAFDpBmtb0nHH219T2VW1rpxbXTf\/lI0jaS3b2SMnqXJUsy6WFxjVzWqVFKcov1Ypb9vQ0x3xWcvxbXKae728zVUqiq0oVF0nFSXmdnFGmqNGFJPdQio7+B2ZnSttQeU7q3p14W869ONaa3jTc0pS8F1Z6kerY2te6pXVWjGdaj+7m+sSUHfQkAAgkAAAAAAAAAAAAgX+DxmTmql5aQqTX2k3F\/FNH23w2MtHxULGhCS6S4E38WTgTxOqspy4XxUrAAILg5nCFSLhOKlF9VJbpnQAMjm8XLAV4ZvEp04QklXoRe0XHw7v+Gam2uIXVrSuKfs1YKa5963K3VVeFvp27c\/tx4IrbfdtntgKM7fA2dOa2kqSfTbrz\/M0buKbOTGlDM4x2av1LEAGZ1kbIWkr6xq20a86DqLb0kHzR60KcqNvTpSqSqShBRc5dZNLqz0BN9COFXxAx+mL60t\/wBpZG\/r0qFWtX5xqS2nsufTr29nd7jYFXU03iKt3K6qWUJVJ85Lnwt7777dC0WkmmYZoTlKMoVpe5XVtaUJ1HSx1jcXtTblwx2Xy3fyOVeauvl9TZW9lBvdSqe14c2\/uNHRo0remqdClClBdIwikl5I9CeKK2RHJyS8c36aGYelb3INTzGYq11um6VJbRT93Z8i7x+JscVCUbK3VLi9p7tuXmyYCrm3oXhgxwdpa992AAVNgAAAAAAAAAAAAAAAAAAAAAAAAD5KSjFyk0klu2+wy+RzNxnLp4jCS9Rr6+6XSMe3b9e3sLRi2ZZcsca136LucZOotS5+hjLealaWkvSXEue0n2r4cvN9xq0klslskQ8Vi7fEWUbehFb7Ljnts5vvZNJk09FsVw43G5S3f3QABQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHv53dOyqzsaUKtyl9XCb2Te4IbpWSCoyOp8XjpOnKv6asuXoqK4nv49EVTx2p80tr68p2VtPrTpdWvLr5suMXp3HYlKVCjx1V\/q1OcvLu8jSord2c3My5PBGl3f0KV2uZ1TNSu+LH45veNNe3Ne\/v8+XuNJYY61xlsre0pKnDq++T72+0lArKTenQ0x4YwfE9X3AAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:31",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "10:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 10:30:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 10:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:32 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 10:31:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:31:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:31:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:31:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 11:02:26 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:02:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                
[09/06/2026 11:02:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:02:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:02:26 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:02:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:02:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:21:07 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:21:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:21:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 11:21:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:21:07 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 11:21:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:22:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 11:22:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 11:22:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:22:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:22:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:22:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:24:16 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:24:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 11:24:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:24:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:24:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:24:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:25:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:25:54 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:25:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:25:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:25:55 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:25:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:17 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 11:26:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:29 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:29] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:26:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:26:30 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:26:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:26:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:26:30 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:26:33 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:26:33] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:26:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:27:09 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:27:09] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:27:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:27:10 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:27:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 11:27:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:27:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:27:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:27:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:27:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 11:28:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 11:28:13 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:28:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:28:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:28:13 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 11:28:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:51 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 11:28:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 11:28:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 11:28:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 11:28:51 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:28:54 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:59 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:28:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                
=========================================
FECHA: 09/06/2026 11:31:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-mL8e-fakyYXedCzWkZj5I1grtA2ubxnEBqpP9BIVD5qBKfq-OCW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2247",
    "correlativo": "2",
    "ddServicio": "Faena",
    "ubicacion": "Proyecto Híbrido Pampas -  Global Energy Services - GES",
    "ciudadmaquina": "Taltal",
    "departamentomaquina": "Administración",
    "rutTecnico": "24456550",
    "contador": "102053",
    "contadorColor": "130210",
    "contadorScanner": "0",
    "detalle": "•Se hace retiro por falla reiterada",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12938",
    "observacion": "•Cabezal se desincroniza con la hoja después de imprimir varias hojas, hace ruido",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD4AQwDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABJEAABAwMBBAcEBQcLAwUAAAABAAIDBAURBhIhMUETUWFxgZGhFCKx0SMyQsHCBxU1Q1JyshYkMzQ2YnOS0uHwdILiRFODovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAwcDBQEBAAAAAAAAAQIDERIhMUEEUXETIjJhgbHBM6HRFEKR4fAj8f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiALmr6+mttK6pq5RHGNw63HqA5lftdWwW6kfVVL9mNg8SeodqmLbbajU1a273UYpW\/wBXp+RHy+PcpxjfN6FFWq4tQgryf282d9oul2vFeKplOyntYBAD\/rSdRB7\/AA4jfxVAvxrQ1oa0AADAA5L9UZO7yJ04OKtJ3YREXCwKbpb\/AFdBdDbr6xjDI76GojGIyO3s\/wCFUi4LzaorxbpKV+A\/jG8j6ruRUotaMpqxm1ig819zvRT2lrrJNE+1Vvu1lH7uHHe9o5+HyVCuSWF2JU6iqRUkERFwsCIiAIiIAiIgCIiAIiIAiIgCIiAIi+XvZGwvkcGNaMlzjgBAfSKam1RVVc7orHb3VjW8ZnAhuerljxK+B\/LOofnFJSjq3EfiU8D3yM36mL8Kb6IqEUv0msqQbToqWrDRvAwCfgvWi1dGav2O60r7fP1vPueJOMfDtTA9swuJhe0k11RRr8c4NaXOIAAySeSNcHNDmkEEZBHNTmrbhNswWeiP85rTsu7GHd69fUCuRjidi2rUVODkzkcH6wvJaHbNsoX78frTn7wPAHtVc1oa0NaAABgAclzW2ghtlBFSQD3YxvON7jzJXUuylfJaEKNNwWKXiev+8giIoF4REQBERAS2qoX22upL9TMO3E8MnwfrN5Z8MjPctmlv1rrZhDT1sb3ng05btdgzx48lgXaSq1Lc57bRPLKSkaemfxDn78DHeMeZXhaLRS3rTIMMbYLhTOLRM0bJ2gcjOOwgZ+SvwrCsR5iqyVaXZLJ\/drWxbIsPTN4lr6eSkrQW1tKdmQEb3Dhnv61uKlpp2Z6FOaqRUkERFwmEREAREQBERAEREAREQBERAFH1Uk+rrq6ippXstUH9JI0fXd9+\/h5rT1fXyUln6GBzhPVPEbC3jjn8vFd9otkVptsVJGBkDMjh9p3MqyPdWLcyVL1anZ7LX8HRSUkFDTtp6aJscbeAaPVeyIqzUkkrILlr7bSXOnMFXCJG8jzaesHkupETsGlJWZHtnuOj5mRVLnVdqecMeB70fZ2d3Dq5ro0rDJcauqv1VkvlcWQgn6refy8CvfWtR0dkFM1odJVStY0Yzw35HkB4rlsE9TZLq6w1z9qN42qZ5O7uHZx8R2q\/WF9zzbKFdQb7q+zen9FWiIqD0wiIgCIiALK1LcnWuyzTRnEr\/o4zngTz8Bk+C1VLX0C6apttr4xw\/TSjG7rx5D1U4K7zKOIk403h1eS9TS0zavzTZ443txPL9JL1gnl4Dd5rNsQFBq660A3MlAlaMeP4vRVKl7rmi1tbKreG1LTEe07x+JqlF4m77lVWCpRg4\/ta++R86lhktFxp7\/Rs3h2xUNHB4PX8O\/CpoJ46mCOeJ21HI0OaesFfFZSR11HLSzDLJWlp7O1T+kauSnfU2OqOJqRxLO1ud+Pj4rnij0Or\/lWttL3\/ALKdERVmsIiIAiIgCIiAIiIAiIgCIiAl67ZuOuaOlO9lFH0pAOfe4ju+yqhTFv8Ae\/KDc3DeBTgE9uI\/kqdTnsvIzcPnjl5v7ZBERQNIREQEve2+26xtNHuLYgZiOrfn8AXvrCkkfb4rhTt+noZBIHcw3n64PgvClPtH5Qqt3AU9OACOZw3\/AFHyVLNEyeF8MgyyRpa4dh3K1vC0YYQ7WNTzb+2h4W2uZcrdBWRjAlbkjqPAjzyupTOiZHMo6uge7LqWcjuB\/wBwVTKE1aTRooTdSmpMIiKJcEREAUvp8e3anu1z4saehYTz5cO5o81u3Or9htlTVDjFGXN78bvVZmjaQU2nonkYdO50h88D0AVkcotmap3q0I8rv4RvKX1uHRQUFY39RUDlkDO\/8KqFga0iEmm5XEf0b2OHnj71yn4kd4pXoy\/2hvAgjIOQVLahH5r1Jbbu0AMe7opSAe7PkfRUVvl6e20suc9JCx2cYzkBZmrqM1mn5iAS6AiUAdnH0JSGUrM5xCxUsS1Wa9DbRcVmrPb7PS1JdtOfGNo\/3huPqCu1Ras7F8ZKSTW4REXCQREQBERAEREAREQBERATFp9zW92jcPeMYcCeOPd+YVOpeQey\/lDjduAq6fiR1A\/6AqhTns\/IzcNkpLk3+QiIoGkIiICX0972qr28neH48Mn5KoUxpz+018\/xR8XKnVlTxGbhfp+r92TFh+h1ZeoP23CT1z+JU6l6LMX5Qq9g+rLTg+jP91ULlTUcN4WuTfuERFA0hERAT2tagxWEwNyX1MrYw0cTz+71WzQ0\/slBT03\/ALUTWeQwp\/Un851HZqIjLOk6Rwzx3jl4FVCsllFIzU+9WnLlZfPyFkarAOmqzIz7rf4gtdZGqv7NVv7o\/iCjDxIsr\/Sl0Z72Ek2Chyc\/QM+C7Zo2zQvid9V7S09xXDYP0BQ\/4DfgtFJas7TzproTWh5HC1T0sh9+Coc0tPIYH35VKpeyZo9X3ai4NlxM0eOd3+f0VQu1PFcq4X6Sjyuv4CIigaQiIgCIiAIiIAiIgCIiAmNTkUl6s9wwQGy7D3DkMj7iVTrD1fRGs0\/MWjL4CJR3Dj6E+S7rNWi4Wimqdrac+MbZ\/vDcfVWPOKZmh3a0o87P4Z3IiKs0hERATGnzs6qvbCMEvB9T81TqYtf0evLpH+1CHbuH2PmqdTqambhvA1yb9yYpiZfyiVe\/+iph8G\/6lTqYsv0msrxJ+yA3dw5fJU6T1XQcNnGT5t+4REUDSEREBLuzWflEaOLaKnyR1ZH\/AJhVCmNO\/wA41PeqocGvEYJ353kcf+34KnVk9UjNw2cZS5t\/gLI1V\/Zqt\/dH8QWusjVX9mq390fxBRh4kWV\/pS6M9rB+gKH\/AAG\/BaKzrB+gKH\/Ab8ForktWdpfTj0RL1A9l\/KFTPyQKmAg9pwR+EKoUvqNoj1PY5eBdLsbXX7zd3r6qoU56JlVDKc4+fukERFWaQiIgCIiAIiIAiIgCIiA+XsbJG6N7Q5rgQ4HmFM6Uc63XC4WSUgGKTpI9+8g4+7ZPiqhSupR+ab1QXyOMlod0c+OYxgeOCfIKyGd48zLxHdcavLXoyqRfgIIyDkFfqrNQREQEx\/VvyidXtVN54H\/gqdS+piaK\/Wi5AkNEnRSHqGfkXLdus\/s1pq584LIXEd+N3qrJK9jLSeB1E9nf+VcwtIZqaq7XE7xPUYbjhuyfxBVCwtHQGHTkBIwZXOf64HoFurlTxMlwytRjffP+cwiIoGgL8JAGScAL9XHdphT2ismOPcheRnmcbgupXZyTsmzE0ODJR1tWf19SeI38M\/eqdYejoei03Tk8ZC53d7xH3LcUqj7zKOGVqMegWRqr+zVb+6P4gtdY2rXbOmaw4zuaPN4C5DxIlX+lLo\/Y6LB+gKH\/AAG\/BaK4LG3ZsNAN39XYd37oXeuS1ZKl4I9CY1T+nNP\/APU\/iYqdTGqf05p\/\/qfxMVOpy8KKqX1anVeyCIirNIREQBERAEREAREQBERAFw3i2Mu1slpHkNLhljj9lw4FdyLqdncjKKknF6MwdJ3CSotzqKpBbVUR6N7Xcccvl4LeUves2K\/096YD7PP9FVBo8j6enaqdrg5oc0ggjII5qU1utymhJpOnLWPtsfqIigaDB1nS+0aeleG5dA5sg88H0Kz9QXN9XpegiiI6W4lgIB6sZH+bAVTUwMqqaWnkGWSsLT3EKC09S1E+o6egqDtR2wyOAxww7t\/vEFX07Wz2PO4lSU7L96t9\/wAF5SUzKOkipowAyJgaMDqC9kRUHoJJKyCIiHQsbVkvRabqz+0Gt78uGfTK2VN64lIsscDN7552tDevifjhTgryRRxLtRk\/I1bJEIbHQsAx9AwnvIyfVd684YhBBHC3hG0NHgMLjuN8t1qafaqloeBnomnLz4fNRzbyJpxpwWJ2saCntbyBmnXNJxtytaB18\/uXM+\/Xq8EMslA+CE\/+pnA9M7visq72epZc7dT11wkrZquUbbN4awZAOP8A8HBWwhaSuzHxFfHTagm08r7Z+5Qx6ms1BRQQvrA90cbWkRgv4AcxuXg7XlpHCKqd3Mb\/AKlqUtgtNGAIqCHI+09u07zK72tawYa0NHYMKN4ci5Q4i3iS9L\/JBXrU9Fcbla6mGKdrKObbkD2tBIy07sH+6VX22+W66gilqAXjjG4bLvI8fBY9+Ifq2yxk\/VJdu48f9l0XzTFPVQuqbfGKatjPSMdF7u07w57tx61N4WktDPT7aM5yVpZ57bbFAiyNN3d14tgklGKiI7EoxjJ6\/Fa6paadmb4TU4qUdGERFwmEREAREQBERAEReNLWU9bEZaWZkrAS3aacjKHLq9j2REQ6clzoI7lbpqSThI3AP7J5HzWNpOvkY2WyVvu1VGcNyfrM7O7d4EKkUzqmlloZ4L\/RgiWBwbMBuD2Z5\/DxHUrIZ91mWunBqstten9FMi8KOrjrqOKqhOWStDh2di91WaU01dHlU1EVJSy1MztmOJpc49gUFZquqpb7TXWp2xFcpHsO478nd6keS3dXzSVHsdmhOH1sg2iQdzQRv89\/gvbUdojdpjoKdpb7EA+IDj7owfTPiroWSz3MFfFUm3H9mfr\/AOe5vouCx135xs1NVE5e5mHn+8Nx9Qu9VNWdjdGSlFSW4RfmQMZPHgvx72RsL5HBjWjJc44AXCR9KQ1fXQRXq2RVO0YYT00jWjed+7+E+a6KvUdVc6h1Bp6Eyv4PqXDDWdo+Z8AVm6dtAn1JW+3ubWGmGHOd7wMmRxz3Hj9yuhHD3pHnV63a2p093rtln6naay+6ly2hYbdQu\/XPBD3jsPy81o23SdsoBtSRCqmPGSYB2\/sHALbRQc3osjTHh43xT7z8\/hH4AAMAYAUxPmt\/KDDHxZRQbRHaR\/5N8gqaSRkUbpJHbLGAuceoBTWkGOrJK+8ytw+plLW9jRv+8eS7HJNnK3enCHnf+CnREVZpJirPT\/lBo2YBbBTknsOHb\/UKnUtZCazWV2rM7TYh0IPVvA\/AVUqyeyM3DZqUubf4+CXsw9k1rdqRm5kjBLgde4\/jKqFMWf6bW13n\/YYI\/wCEfhVOuVNRw3gfV+4REUDSEREAREQBERAF5wU8NNH0cETImZJ2WNwMleiILBERAF8SxMmifFI0OY9pa5p5g8QvtEBKWGV9jvdRYag4hkJkpnO555eQ8wVVOcGtLnEAAZJPJYuqLS64UAqICW1VJmSIt4nmR6eYWVc9RPuOl6eOmwaytf0D2NO8H7WB27vBytax2aMKqfp1KEtFmvwethL75qSqvTs+zwDoafI\/5jcST+8qlzWvYWOGWuGCOsLktNvZa7ZDRswSxvvOH2nHifNdqjN3eRfQpuEO9q831JXSMnsNZcLLK7DoZS+MEcRwJ\/hPiqpSWp5GWe+0F4jaC45ZKwHe4Yx8CfILgk1ZeHVwexkbC9uzFSYzgHeHOPHh3dwCscHPvIyw4iHDp0pbP7bHRr25OD6e3RvwB9LJg788G\/efJfVLSXXVMUBrSaW2sAwwfWkwNx7e87upcdos0l\/orhc63bmqJAWwOJ4uA448gOS17FqGipNMRPrJgx9OTEWfadjhgdxCk+7G0dUUQ\/6VHOq7Rkr+i5mlVzUOmLK50MbY2MGI2ftvI3Z8uPYubSNDNS2t1TUtInq3mR2Rg45Z9T4rgpKSq1VWsuFwYYrdGcwU5+32n5+Co6+5Udsh6WsnbE08AeLu4c1W8lh3NlO0pdq8orT8\/g6l41VZT0UJmqZmRRjiXFTT7xd9Qkw2WB1LTcHVUu4nu6vDJ7l00+j4HS9Nc6uavkyThxIaM+JPryXMCXiZLt5T+lG\/m8l\/Zy3S5TalcLXZjtQOI9onO4AZO7rxu8dypKGjit9FFSQDEcTcDt6z4nevSCnhpohFBEyJg4NY3AXooyldWWhOnScZOcndv\/ZBeNVUMpKSapf9WJhefAZXsp\/WdW6Cy+zR75KuQRgDq4n4AeKRV2kTqz7Om5cjEo3uotDVtY92Za6UhpG7nj7nFVllhdTWOkjkd7whaXE8iRk\/FTVVT+33a3acgOaega19QeIJA3\/HHe5Ul+q\/YrHVz8xGWjvO4epVk87LmYuHWC8npFW+WY+jAKg3O4YyaipO\/wD+34lULG0pSeyadpgRh0oMp7drePTC2VCbvJmnhouNGN\/9cIiKBoCIiAIiIAiIgCIiAIiIAiIgPxzg1pc4gADJJ5L+dW6a3jWzZWAilM7hCRuG0c48Mn4Kl1dcpKaijoKUn2qtdsNDTvDc7\/PcPEpV6YjfpmO3w\/1inG3G8HG1Jz8\/Td1K6ForPc8\/iFKrO0F4M\/XkUKy73e4bNTgkdJUSbooRxcfkuG16lj\/k4+rrSenpPo5W\/ac7l4n5qUpvzpqK9yVEDcSyfrN+zC3sPLduSNPN4tEdrcWsMVTzcj6qIJ7lVmOTNbdKg72tdhlOAeHf6DtPBBUUlLpox0zALjVSmCVziAWs5gdQIwPPsW9FcLNpiA0luBrq1+A7o9+07tI4DjuGfvUtGYq69dPcY3U9PNORKYxgMJ5b+Har079DzaiUGrNOTyfl68+ZTQXoUNJFZ9P03tlQxp25Wj3A47yR1788d3DiuL+TV2oK5ldJRwXFz8vezO4PJ6t3y49itKK30lugENJAyJvPA3u7Sea6Vn7S2iPT\/SY0u0emltESxrtV17Cylt0VCzgHyH3h3Z+S96PSURm9ru9Q+vqTx2j7g8Of\/NyokUcb2yLVw8W7zbl10\/g+WMZGwMjaGNaMBrRgBfSIoGkIiIAoDUtxlrdURQUYMjqU7EQbyl6\/A4\/yrY1Bq2OkzR20tnqXe6Xt3tZ3Y4n\/AJ2Lp01p+O2U7aqcF9bM3L3P4szvwO3rV0VgWJmCs\/1EuypvTVnvp6yNs9H9Lh9XKdqaTOc9gPV964NaSGanorZGcSVdQB4Dd8XDyVMpeqb7dr+mjBy2jg23AHgd\/wDqaoxd5YmTrQUKSpx3simjY2KNsbfqsAaO4L6RFWbAiIgCIiAIiIAiIgCIiAIiIAvOaaKnhfNM8MjYMuc47gF6KWvs8l8u7NP0khbG336t4G4AYI3\/APN+FKMbsqq1Ozjda7dT8sEMl8u0t\/qmkRsOxSsdjcN\/wz5kqnlljhidLK8MYwZc5xwAF801PFSU0dPC3ZjjaGtHYFxahp46ixVbZZHsY2MvOxxOyM49F1vFIhCDpU3u9X5s\/nV8qqWrvNRPSNc2GR+SCfrHmR38fFUtBY7zW0ggfOLZQHe2GNo23Dtxv3jrPgvrTunqSt0s8zRM6aq2i2Uj3mYOBg8t4z2rv0rcnuoJqGtdsVFvJY8vP2BwOezBHgFfOeVo7Hm0KHfUqn7s8svQ57rT0OmLK6Ohh\/nVR9EyRw2nuzx349Ny64NMw\/yXFqlw2Vw23PG\/EvX4cO4LhtzDqTURu7w4UdGQ2na4fWcOfmc+SrFVKTWW5to041G5W7ui6bv1JzTFzma59kuHuVdJ7rcn67eXfgemFRrFv1iNx2Kykf0NfBvjkBxtY5Fflk1A2tcaKuAp7hH7r43btvtHb2Lkli7yJ05Om+yn6Pn5dTbRF+EgDJOAFWaj9RYldq200RLGzGpkzjYgG1v7+Cz5H6lvxLY2fmukJxlx99w+PwCmoPV5GeXEQTtHvPyNe6ait1pBbPNtyj9VHvd49XisOpfeb9C+eoebRbGNy4uztPHdxPoO9adBpu02WM1M+JZGDadPORhvaBwHxWVJLUayufQRdJFaYHe+\/gZD8+zkN\/YrI2Wn8maq6jynq9Ir5fI8NKWOGtrjczCWUkLsQskOXPcPtHlu7N2e5XK84YYqeFkMLAyNgw1rRuAXoq5yxO5qoUVRhhWu4UtpICsuV1upGell2IzjgM5xnu2VR1c3s9HPPkDo43OyeWBlYeh4hHp4OA\/pJnOPoPuXY5RbI1M60Fyu\/gokRFWaQiIgCIiAIiIAiIgCIiAIiIDludaLdbair2doxMJAPM8vVZGkLc+CgfcKg7VTXHpC48dniPPJPiFp3qgN0tFRRtcGukaNkk4GQQRncd2QsKnvF2slMyluFnfJFTsDBPASQQBgciOriRz7lZFXjZamOrJRrKU9Evv\/AOFWs6\/xumsNYxoJJiO4DJ61nx62s7yA908Jzg7cfDyyupmqLHK04r48cw5rh8QuKMk72LHWozi44ln5n5pqoi\/kzSSGRobGwhxLhhuCePUo\/UFbS1t6lnoXysp3hsVTMwHZdv8A9vHZXdU02j+mc4XGZjHEkxRBxbns93u8l0Vd70yLNLbYGSdG9mBsRb9ocCScZOQFdFWldJnn1ZY6ahKUVbzvf8FVQ0lPRUcdPSNAhaPdwc57c88roUPY9V1cVtjoYrbLWzQjZa5hP1eWcA8OHgtA1ura\/wB2noIaFpH15CCR5\/JVum75mynxVNwWFPol\/kU7nBoy4gDrKktT1GnarD3VgFYzGzJTDaPHmRu9chezdJVVadq8XeecZz0cZw31+S16OwWqgA6Cij2gc7bxtO8yiwxd7iaq1o4XFJeeft+SRi1leae3N6Sla\/O5tRIx2CPgT2r2pKQagDZbrqKN7c59mjcG+hxjyVvJGyVhjkY17HcWuGQVkVOk7NUu2jSCI5yeiOz6cFJVI8rFUuGq5XliXJ3Xt8n3RUVitgzTClYRv23PDnDxJyviu1VaKFrv50J3j7EPvE+PD1XgNE2Ufq5j\/wDIV30en7VQEOgoow8cHuG0R4lQbhq22XRVdK0Uor\/dDDZRXTVUwnry+jtoILKccXjjn\/fyVRTU0FHA2CnibFGwYDWjAXqijKVy2nRUM9W9wiIolxwXtrn2Oua3iYH\/AAXLpLZOmKPZGBh\/ntuytWeFtRTyQu3NkYWnuIwp3SNT7M2pstQQyoppXbLeG03s69+T3EKxZwaM0u7Xi3umvkpkRfL3sjYXyODGtGS5xwAqzSfSKcrdWNfUto7NAa+oJ3kZ2QOe\/n38FQxl7o2ukZsPIBc3OcHqzzUnFrUrhVhNtRd7H0iIolgREQBERAEREAREQBERAeMtHSzHMtNDIf77AVxv07Z3u2jboAexuPgtJF1Nog6cJao4G2S1Nfti3U211mIFdEdFSRf0dLCz92MBe6JdnVCK0RKzl1k1oyf6tLcxsuwNwfw+OD\/3FVSx9UW51yssjYhmaE9LHjjkcR5ZXtp+4m6WaCpeQZMbMn7w3evHxU5ZxTM9PuVZU9nmvk0kRFWagiIgCIiAIiIAiIgCxrxp2C5zNq4ZHU1YzGJoyQSB3c+34rZRdTad0QnCM1aSJf2TWUIEba+klHJxAyB\/lRulKyveH3u6y1AH6qI4bnx+QVQin2j2Kf0sH4m31Zy0NtorbH0dHTshB4kbye8neV1IirbuaElFWQREQ6EREAREQBERAEREAREQBERAEREAUpZmmx6pqbSXYp6lvSwA9fV5ZH\/aFVqa1hTmGGlvELAZqOVpJP7JO7PjjzKshrh5mbiVZKotY+25SovOnnZU08c8ZDmSNDmkdRXoqzSnfMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALnuFI2vt89I\/GJWFuSOB5HwO9ETQ40mrMztKtrI7GyCthkikhe5gEgwS0cPDfjwWyiKUs2yFJWppBERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569765445794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: -24.9351306, lng: -69.9291958)",
    "horaLlegada": "11:28",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Se retira por falla reiterada—mala calidad de impresión después de imprimir varias veces",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 11:31:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 11:31:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:31:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 11:31:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 11:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 11:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:12:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

[09/06/2026 12:12:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:12:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:14:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:14:36 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:41 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:41] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:14:44 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:44] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:53 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:14:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:14:56 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:14:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 12:14:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:14:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:15:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:07 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:15:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:11 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:15:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:15:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:12 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:15:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:15:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:15:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-OFqFWA5xlGT2pNh-UN3V9wHqTy4k6RScQzDqOm-S3Yes7dh2ooO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACEANkDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xAA+EAABAwMBBAcEBgkFAAAAAAABAAIDBAURBhIhMUEiUWFxgZGhE7HB0RQjMkJS8AcVFjdidJLS4SVjk6LC\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAvEQACAQIEBAQEBwAAAAAAAAAAAQIDERIhMUEEMlGhEyJhwZGx0eEUI0JScXLw\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi8aqobSUk1Q8ZbEwvPcBlCG7K7OG8X+ks8eJCZJ3DoQs4n5LMNZqq6sBpaOK3RO4PlOXev9q\/NKW76VtX6tzLVVDiWF3Bgzjd7uwBVC0do5JHJFVKyxN2T0S92TIs+piWuffWZHIN3e5etmutfHc3Wa7hrqlrdqOZg3PH5zy5KhUzXEj9IduG7fTHl2SKU8V0yJw8JxlFvVLW+pTIiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCLiu1zitFvfWTNc8NIAa3iSSuG16lir6r6JPTSUc7mhzGy7todnp3qyi2rmUq0IywN5m2iIqmoREQBctzgdU2qrgYNp0kL2tHaQcLqRFkQ1dWMDRlQ2bT0cW\/bp3ujcD152vcVvqVov9H1rUUm0fYXBpkYMbg7JP8Ad5hVSvNZ36mHDP8ALwvWOXwCmKIm5a5qqlp+qoY\/ZDdz4Y89pa18uQtdrlqNoB+NmPIyNrBx7lnaSFJR2oB1fBLUTu9pIPaglpPLj+SSpirRbKVZKVWMOmb9iiREWZ1hERAEREAREQBERAEREAREQBERATGqG\/TrvarW\/Iikk9o\/G\/IH+M+fno6gsrLtSZjAbVw9KGThv6j2LOuHS\/SDbGneBTkgduJPkqdaNuOGxxwhGo6mLd2+CRjabvDrpQmOo6NZTHYmaRgk9fjjzBWypS+wy2K7x36kZ9TIQyqjb97PPx947VURSsmiZLG4OY9oc1w5g8ComlqtzShN5056rutmfaIiodAREQE7rCjldRw3KmJE9A\/bGPw7s+WB6raoK2K4UMNXD9iVu1jqPMeByF6TRCeCSJ3CRpafEYUjpqtksl0lsNcNhrpMwudzJ4DuPLtWi80bdDkk\/CrXekvnsV08EVTC6GZgfG77TTwKxpdGWSXOzTviJ\/BI745W6iopNaM3nShPmSZLjTV0tZ27NdXBo3+wmHRPw9Avqj1TPS1Ao9QUpo5MdGYA7Dvf5g47lTLnrqCmuNM6nqohIxw58R2g8ir478xi6DhnSdvTY92uDmhzSCCMgjmv1SVGZ9KXhlvke6S21RPsnuxljvzx6+XUq1VlGxrSqY07qzWqCIuG4Xm32sD6XUtY48GDe4+A3qEm9C8pKKvJ2O5FMu13bM7MdPVyOPABjfmvwa1a7ey01bm8jhW8OXQw\/F0f3FOimm64oGktqKSrhcORYD8e9adu1BbLpIYqWpBkH3HAtJ7s8VDhJaotHiKU3ZSzNJERVNwiIgCIiAmK794lt\/lj7pFTqYrv3iW3+WPukVOtJ7fwc3D6z\/t7I8auliraSWmmbtRytLSFO6arZrdWS6fr3dOIk07z99vHA948VULG1BYzdI46imkMNbT74ng4zzwVEWtGTWhK6qQ1XddDZRRkWq7nc4I7fQ0uLg7Ikl3bLQOLh1eKraNk8VHEyplEszWAPeBgOKSg46k0q8avLoeyIiobheMlJTy1MVTJCx00Odh5G9ueK9kQhpPUIi5rhFUz0MsVHOIJ3ABshGdnfv8ATKBuyuek9TBTM26ieOFp5yODR6rIrNX2ikGGTGpeTgNgG168FzwaLo3P9tcameumI6Re8gH4+q16Sz26hINNRQxuHB2zl3md\/NaeRepz34iWiUe7MAG56oqqSZ9GaKhgft5e7e\/tG7y3Y3neqxEVZSuaU6eC7bu2Y+oL0bXFHBTs9pWVJ2YWDryBn13LltGlKeDFVcx9LrXnaeXnaa093PvK8adrK7XtQ+dpzRw\/VNPgM8f4j59iqFZvCrIxhFVpuc80nZL3PwNDRhoAHUF+oizOs+XMY\/G00Ox1jKmLtBFDrC0imijje4EvLQBkZ6vNVKl7aXXXWdZXAB0FG32MbuPS4bv+3mO9aQ3Zy8Qk8Md212zKhERZnUEREAREQExeT7DWlonIOHtMeRx5j\/0qdTGrOjc7HIOLand\/Uz5KnV5cqOajlUqL1XyPiWWOCJ0sz2xxsGXOccABStZca7U9S632dxiom7pqo5G12D5c+5al7s094qKaJ1SY6JoJmY3i4jGMevdjtWnS0lPRQNgpomxRt4NaETUVfcTjOrJx0j3f2Jut0iaKCKpsk0kVZTt5u3y\/AH0Wlp6+svFKWyAR1cW6WLh4gdXuWwsC96b+mTi4W+U01dHvDmnAf8jx7+alSxZSKuk6Tx0lluvp6\/M30WJYr+6vkdQ1sLoK+EfWNdgB3aBx7VtqjTTszop1I1I4ohERQXCIiAIiIAiIgJfUEMtou8OoYMuYMR1DM8Rw\/PcFR09RFV07KiB4fHIMtcF9SxRzwvhlYHxvBa5p4EKUopnaVvpt1Q8\/q+qOYHuO5hzz9x8CtOZW3RyN+BO\/6Zdn9yuREWZ1mbf7iLXZ56j75GxGP4juHlx8Fz6Utwt1ji2m4ln+tfkYO\/gPLC4NRtNz1BbLUMmMH2soAzu7fAH+pVK0eUUupyw89Zy2jkvcIiLM6giL5Y9kgyxwcM4yDlAfSIiAmdcAx26kq2fbgqQQercT7wFStIc0OG8EZCxtW07qnTlQG73M2XjwIz6ZXbZqgVVmo5gc7ULc94GD6q75Ec0cq8l1SfsdqIiodIREQHJDbKSnr5q6OLE8\/wBt20cHw4LrREvchRUdAiIhIREQBERAEREAWdfbUy8WySmOBIOlE78Lh+ceK0UUp2d0VlFTi4vRk5pG8PrKV9vqjiqpOiQ473NG704HwVGpPU1NJZ7hBqChbhwdszt5OzzPfw8uaordXw3Khjq4Dlrxw\/CeYV5q\/mRz8PNpulN5rujBvkdXab4y\/QwiopxGI5mjiwdf+Vr0N+ttwjDoqpjXYyY5CGuA7lorHrNLWetkMj6URvJyTEdnPhwS6asyXTqQk3TzT2f1NE11IBk1UIA\/3AuKs1HaaJhdJWxvcB9iJ224+XxXF+xNm\/BN\/wAhXbSabtFG7biooy7GMvy\/q6+4KPIL8Q9kvizG271qvPs8222n73F0g+PoO9UNsttPaaJtLTg7IOSXHJceZK7ERyvktC1OiovE3eXX\/aBERUNz5c1r2FjhlrhgjrC+YYY6eMRxMDGDkAvREIstQiIhIREQBERAEREAREQBERAEREAREQHPXUjK6hmpZAC2Vhbv5dRULp25Taduz6C4AxQyOw\/a4NdwDs9Xb8l\/Qlw3W0Ut3pXQVDBkjoyAdJp5ELSEklZ6HLXoylJVIO0l39DtBBGQcgr9UlZ7nLp6q\/Ul3OGA5p5\/ukHr7Pcq1VlHCzWlVVRX0e66BERVNQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlrrbR3KNrKyBsoY7abniF0gADAGAERTcqkk7n6iIoLBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:16",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "10:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:15:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:15:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:16:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:16:18 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:16:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:19 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
=========================================
FECHA: 09/06/2026 12:17:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.TEDnhEBHYS2oVS3WQY_QftzuPpBVROm8XTU6ietQlMEfyk6aEq
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACMAO0DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABHEAABAwMCAwUFAgoFDQAAAAABAAIDBAURBiESMUETUWGBoSJxkbHBFDIVIzRCUnKSstHwFjNT0vEHJCU1NkNiY3N0k6Lh\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgIBAQYDBgYDAAAAAAAAAAECAxEhBBIxMkFREyJxI2GRscHRFDM0geHwQlKh\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID5e9scbpHuDWtBLiegUuLxeb7UOZZohBSNcWmokxv8APp3BdOs6mWO0x0sLiH1cojONtuv0WzQUUVvooqWFoDI242HM9T5qxYjHJlnvWWbieEuJgG06pDeNt7iMg5At9n5fRfLdSXK0yCK\/UJDHHDaiEbfwPkfJVK8qiniq6d9POwPjkGHNKb6fFB0OOtcmn79UfsM0dRCyaF4fG8Za5p2IXoprRkj209bRF\/HHS1Bax2+4+XT1VKoyWHgtps8SCkERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIixL7fzbXx0dFEKivmI4I+YaO84XUm3hEJ2RrjvSNtFM9prIZeYaN2BkR5G\/hz+q6bNqRtdUm310BpK9nNh2a4+Gd\/HHd1Kk4PGUVR2iLaTTWe6N1ERQNAREQExrL2JbVOeUdSM+h5+Sp1N64ic6yxys5xTNceWwwfrhUEMrZ4I5mfdkaHD3EZU3yozV6XzXoei4L1dI7RbJKp+7vuxt\/SceQ+vku9QF1vNNX6jH4SDxQ0hIEDfaMh79jjn48gkI7zG03eFDTi9EUmk7c+gs7XzZM1Se2fxcxkDAP8APVbamP6e2rb8RV\/sN\/vL2ptbWeoeGvdNBk4zKzb0JXZQm3lohVfs8IqCkihRfMcjJY2yRva9jhlrmnII8CvpVmwIiIAiIgCIiAIiIAiIgCIiAIiID8c4NaXOIAAySeimNKRyXCtrb3U8RfJIY4g4fcbzIHoPIrfuTi22VThsRC8j9krK0WANNwkdXvJ\/aKsWkWzNPzXxT6ZZvLB1VZ3XCiFXTDFZS+3GW83AbkfUf\/VvIoRbTyi6ytWRcWZ9kujLva4qpuz\/ALsjf0XDn\/HzWgpS3P8AwFqyotrvZpa49pDnYBx6D1HkFVqU1h6FdE3KGJcVowiIoF5x3ajFwtVTSkZMkZ4f1huPUBZ2j6s1VgjY4+3TuMTgR3bj0IW6pW1Btn1hWW\/ZkNY0SxDPXnjw\/O+AVkdYtGWzyWxn30+xVLyNNAX8ZhjLz+dwjK9UVZpwmfgAAwBgBc9ZbqO4RGOrpo5Wn9Ibj3HmF0omcBpNYZI4qdIXJgMjpbRUv4RxHeI\/z8QFWggjIOQVP63c0adcCAS6VoGRyK26UOFJCHfeEbc+\/CslqkzNStyyVa4aP0yeyIirNRl3y+Q2anaSztqiQ4ihad3ePuWWyHVtwPaPqIKBhO0fM48gfU5X7TgV+u6h0+4oovxTCScE4Ge7qT5juVOrG1FcDHGLubbbSTxhe7uSrrlqCwuDrpGytpM4dNEN2DvOAO\/qPNUlLUw1lNHUwP44pBlpX3LFHPC+GVgfG8FrmnkQpjT7n2i\/1djeD2LyZafPd9dv3U0ks9Tq3qZpN5i+\/RlUiIqzWEREAREQBERActz\/ANVVf\/Qf+6VmaM\/2ag\/Wf+8Vr1jO1op4\/wBONzfiFiaIk49PNbnPZyub7uR+qsXIzNL9RH0f0KFERVmkwNXW11XbBVwZFRRntGEc8dflnyWhZbk262uGrGOJwxIB0cOa7iARgjIKlrA51o1FW2V7eGGQman7sf4fuqxeaOOxll7O5S6S0fr0+xVIiKs1BTWsKeWBtLeafAkonjiyObSRj1+apVm6hpX1lhrIGDicY8gAZyQc\/RSg8SRTtEd6qS\/uTup546qnjnhdxRyNDmnvC9FNaGrftFldTOI4qZ5AHXhO49c\/BUqSW62jtNniVqfcIi47pc4LTQvq6g+yNmtHNzugC4lnQslJRWXwMK+k3fUlDZ45SI4T202Oh5\/HHL9b4VKnNJ0E4ZUXatB+0VruIZGMN5+p9AFRqU+y6GfZ02nY+Mvl0CIigaSVqXC1a8inceGGvj4HHfHFyHqG\/FVSytQ2gXi2uiacTxnjhdnGHd3mvHTN4dcqJ0FTkVlMeCUO5nx\/j4qx+aOexlrfh2uD4PVfVG2pjVHDRXm03QDBbJ2cjv8Ah\/wLlTqc1zG19gDzzjmaR6j6rlfMju1L2LfbX4FGi84HmSnjkJyXMB9F6KBpWoREQBERAEREAUxoY\/6Pq2jYNqTgD3BU6mNDfkNb\/wByfkFOPKzNZ+fD9\/oU6IigaQpjV1LLTupr5S\/11I4B\/i3O3qSPNd121Pb7U4xFxnqP7KLcg+J6fPwXFSQ32+S9tcCKKgePyYNBdI0jkeo8\/grIJrzPgY75xsTqjq\/d0KGmqI6umiqYXcUcrQ5p8CvVS2l6iW3XCp0\/VOyYSXQE9W8z88\/FVKjKOGX02eJDPXr6hERRLTgttmpLVJUSUzXA1DuJ3FjbngDbluu9F41VTDR00lTO\/gijGXFdy2yKUYRwtEKurgoaZ9TUyCOJgySVL0ME2rbh+Ea1pZbqd5EEJH3z4+mfgvOGGr1lXCpqQ+C1Qu\/Fx5wZD\/PM9OQ6lV8UUcMTYomBjGDDWtGAArORe8yrO0PL5F\/3+D6AAGAMAL9RFUbAuShfXvfUithija2UiAxnPEzoTvz+HuXWiHGstMKYv9BUWyvGoLc0FzB\/nEfRzep\/j7sqnX4QCMEZBUoywyu2tWRx8Dktdzp7tRMqad2QdnN6sPUFZGuZGssAYeckzQPU\/RclXE7Sd5ZWU+RbKt2J2AZEZ8PmPML01I+O5Xq0W6JweHP7V5buOHY7H3An4KyMUpJrgZLLXKmUJc3D4lNCwxQRxkglrQCQMcgvREVJ6C0CIiAIiIAiIgCmNF+wy5U5GHR1Rz8voqdTGnPxGpL3THbilEgae7J\/vD0U48rM1ultb9fkb1fWx26ikqpWvc2MfdYMkqa7fUeo9qdn4MonfnnIc4e\/mfLA8VWOa17S17Q5p5gjIK+lyMsdCVlTsessLsvuZVq07b7SA6KPtZ+s0m7ifDu8lqoi423qy2EIwWIrCJjV1LLTvpr5Sj8dSOAf4tztn5eaoaWpjrKWKpiOWSsDh5r6mhjqIHwzMD45GlrmnqCpnT0klnvVRYJnOdEcyUzjvkc\/l5ZBU+aPoZ37K7PSXz\/kqkRFWagp27W2tvd6ZSTccVshaHucP947u9fmtajuArKmqgFPPH9ncG8UjOEPz1Gfd8u9dikm4sqnGN0cZ0PiKKOCFkMTAyNgDWtHIBfaIolvAIiIAiIgCIpxlXPbtZvpqid5pq6PihDnEta\/z5ciNu8KSWSuyxQxnq8G5WUcFfSSUtSzjjkGCPqFCaVrKWkv7hM5z2SAwU8zzsN9h57fHxX9CUNfdN19KyQUEX2mldJ2jWNBMkTupGOewA6522VlbWHFmTa4yUo2xWcFyij7brWOmp2U13iqBUs9lzwwbjoSMg58l3\/02s36c3\/jKi65LoXR2umSzvYKFFOO1zZwcAVB8RGP4oNdWcnHDUDx7MfxXPDl2O\/iqP8AZFGixINX2SckfajEf+YwjPnyWrT1dNVs46aojmaOZjeHY+Ci4tcUWQthPlaZ7IiLhYFMRZpP8ocwIIFXTZHdsBv\/AOhVOsC8UU41Fa7lBCZGsJik4XAEA5x8ypw6oz7QniMl0aN9ERQNAREQBZ01njnvkN0fK4uhj4Gx42B33z5laKLqbRGUVLiERFwkEREAREQBERAEREAWLqi1uuFt7WHIqqQ9rCW89uY9PiAtpF1PDyQsgpxcX1MywXZl4tcc+R2rRwyt7nd\/uPNaaka9j9L35tyhafsFYeGdoGzD\/O48wquKWOaJssTw9jxlrmnIIUprquBVRY2nCfMv7km9VW6SGSO+UTQZoP65p5PZ4j0Ph7lr259vulDHWQ08RbIMkFgJaeoK73NDmlrgCCMEHqpOizpnUpt+5obgcxE\/mO5AfT4Lq80cdUVzSqs3v8Zcfc+\/7lSKeBow2GMDuDQnYxf2TP2QvRFWa8I457RbqluJqGB3jwAH4rMk0XaHTtljbNAWuDgI5NvXK30UlKS4MrlTXPmigiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQHjV0sNbSyU1QwPikGHNKlGur9GTYfxVdpe7bB9qMn5Hw5HwVivxzQ5pa4AgjBB6qUZY0fAotp32pJ4kupx2+70F0j46SoY89WcnD3g7rF1lgutjWflBqMR43PTp7+FdFfpC0TudOyJ9O4e1iF3CCR4dPLC87Npuhp6v7SXzTSREFnauBDTv4KxKK8yMtk7J+xkll9SjREVJ6IREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"128904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:17",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:16",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:17:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:17:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:09 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:10 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
=========================================
FECHA: 09/06/2026 12:17:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-2KSjSWPwr+xI7ToQgB4zX.yKy_tq6cbG_mRDSJy_BoKldroiYtO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACbAMoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA\/EAABAwMBBQYDBAYLAQAAAAABAAIDBAURBhIhMUFhE1FxgZHBFKHRIiMysRUWM0KS8CQ0NTZWYnJzsuHxov\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QAMBEAAgECBAIJAgcAAAAAAAAAAAECAxESITFBUWEEEzJxkbHB0eEigRQjNEJEofD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBEXl72RsL5HBjWjJc44AQHpU141JS2t3w8bTVVh3Ngj3kHqeXhxVfXakqblO636fhMryMPqCMNZ1H1KsbHp6C0s7Z57eskGZJnb9544z\/JVmFRzkZXVlVeGl937cTxZG3yaofW3WRsUT2ER0oA+zkg5P\/e\/ertEUG7svhDBG1794REXCYREQBERAEREAREQBERAEREAREQBERAERUV71I2hmFBQx\/E17yA1g3hme\/r0XUm3ZEKlSNOOKROut5orPD2lVJ9ojLI273O8B7qgjobrqp4nuL3UVvyHR07eLxy\/9PkFMtOmnCb9IXmT4ysdggO3tj9j+S0SndR7OpnwTrZ1Mo8Pf2I9FQ01vp2wUsLY2DkOJ6k81IRFWakklZBERDoREQBERAEREAREQBERAEREAREQBERAc+3hMxgErO1AyWbQ2seC6LMaiPwOorRcQQwOf2UjuH2c8\/IlaYjIx3qTVkmVQqYpSi9jP3u9zGoFotA7Suk3OeOEQ+v5KVYtP09ni7R331Y8feTHf5Dp+a62eyU1nieIyZJpDmSZ3F3TwVkuuVlaJXCk3LrKmuy4fPMIiKBpCIiAIiIAiIgCIiAIiIAihVt4t9vlbFV1TInvIwDk8eGccBu4lSopY5omyxPD2PGWuacghdsyKlFuyeZ7REXCQREQBERAEREBn9awCTT7psb4JWPHrs+6uaGc1VBT1B4yxNf6gFRdQQ9vYK5mM\/cucPEb\/AGXHS0\/b6co3c2tLDu7iR7KesDMsukPmvJ\/JboiKBpMnX6jkOpGU8dU2mpKVx7YnDjKRnLQOPLA6+Sn0mrrZV1bKcGSIy47N0jcB3Ly37vJdoNM22GumrHxmaSVxOJDlrcnPD6rpfbPFeLa6nIDZWDML8fhPd4FWtwdkYlHpEU5XXd6cizRUml7s+428w1G6rpT2coO4nuOPl4hXaras7M1U5qpFSW4REXCYRRrhXwWyjfVVJIjYQDsjJ3nC7QysnhZNGcskaHNPQ71225zEr23PaIo1xrGW+3z1chAETCd\/M8h5nAXFmG0ldnyuuVFbY+0rKhkIPAHeT4AbyqCfU9dcnmCwUL5d+DUSN+y32Hn6Lxp3T1PX0bbpdWfE1FQ4vG244A4DIHHgtUxjI2BkbQxrRgNaMAKx4YviZY9bWV74U\/H4KC2aVhY2Se7EVtXOPvHP3hvh16+ivooo4YmxRMDGMGGtaMABe0UXJvUvp0oU1aKCIiiWBERAEREAREQEW5\/2VV\/7D\/8AiVWaM\/u1B\/qf\/wAiriqYJKWZjuDmOB9FRaHeXafweDZnAfI+6muwzNL9RHufoaJERQNIREQGVu7TYNRQXiPdTVTuyqRngTz9BnyPetSCCMg5BVBrUluny4HDmysII4gq6pS40kJeSXGNuc8c4U5ZxTM1L6as4LTJ+J2REUDSeJYYp2GOaNkjDxa9oIXprQ1oa0AADAA5L6iCwWTrHyan1B8BDI8W6jIM7mHG07fz8RjyJVjqm7PtdsDadxFVUO2IsbyO8+3iQpFgtLLPa44MDtXDald3u7vAcFZH6ViMlT82p1S0Wb9EWLGNjY1jBhrQAB3BekXKepgpmbdRPHC085HBo+arNWSR1RU1Tq2y0wP9LErh+7E0uz58PmoI1n242qG0VdQM44Y38uAKmoSexRLpNGLti9fI06LMDUd8Iz+rk2\/q76J+sd8\/w5N6u+idXI5+Kp8\/B+xp0Wch1e2OdkFzt1RQvkIDS8Eg9d4G7PitC1zXsD2ODmuGQQcghccWtS2nVhU7LPSIiiWBERAcK1\/Z0NQ\/ONmJxz3blS6JZs6dYcY25XHx5eytLy\/s7JXOzginkweuyVB0g3Z0xSbsE7ZP8ZVi7DM0s+kLufmi7REVZpCLy97I2F8jgxrRkuccALLV95qb9Um12MnszunqsEBo6fzv5KUYtlVWrGms9dlxPNTMNW3qOjgBNuon7c0gO6Q8sehA6ErWqHbLZTWmjbTUzMDi53Nx7ypi7Jp5LQjRpyinKfaevsERFAvCIiAylU+Gq1034t7I4aCEOb2p2QXciM8d7v8A59Z9w1ba6FuIpRVyn8LITn1PBdLppqhu1dFVVG0CwEPa047QcsnopNHZbbb3B1NRxMeP3y3LvU8Fa3FpXMUadZSko2V3qUorNVXb+rUsdthOCHy73Y8x7BdafR8UrxNdq2orpeBBeQ3Hd3\/MLSIo43tkWLo0XnNuXf7aECmslrpMGGggaRwcWAn1O9TgABgDAC+oott6l8YxjklYIiob3qRlHJ8BQN+JuD\/stY0ZDCe\/r0RJt2RGpUjTjikRtUVDrjVwWCkIM0jw+V2CeyA3jh6+i0kMTIIWQxjDI2hrR0G5VGn7I+3MfV1j+1r6jfK8nOz\/AJQfz\/6V0pSa0RXRjK7qT1f9IIiKBoCIiAqtTP2NOVp3\/s8bupAXrTjNjT1CN37IHd13qNrF2NNVA5EsB\/iCn2zs6eyUhc4MYynZlzjgD7I3lWfs+5m\/kPkvUmqHcLtQ2uPbrKhsZIy1nFzvAcVSVepai4VJoLBAZ38H1BGGs6j6n0KkW3SsEMgqrnK6vqjvJkOWA9AePmmFLORx1pTdqSvz2+SuaLhrGfakD6O0sP4f3pcfz4DqtRRUVNb6ZtPSxCONvIcz3nvK7gADAGAF9UZSvlsTp0VB4m7ye4REUS8IiIAiIgCIiAIiIAvjnBrS5xAAGSTyRzg1pc4gADJJ5LIPnrtX1k1PSymmtkJ2XvHGX6+HLmpRjcpq1cFkldvRHWtvFbfq99rsjtiFoxNVDh5Hu+Z8FcWexUdmiIhBfM\/9pM\/8Tj7cf\/VKoLfS22mFPSxBjB5knvJUldlLKy0I06LTx1M5eXcERFA0EO7W8XS2zUZldH2g3Ob3jeM94yvVtp56S3xQVM\/bysyDJ3jJx8sBSkXbu1iGBYse+gREXCZHr6KK40UlJOCY5AM46HPss\/8AqjVTiOCtvM81JGMCJoIzjhxJ91qEUlJrQpqUYVHeSI9FQ01vp2wUsLY2DkOJ6k81IRFEtSSVkEREOhERAEREAREQBERAFFuNwgtlFJV1JIjZyaMknkAlfcaW205nq5RG0cBzd0AWbpKWq1XcG11fG6K2xb4YDn7z69T5d6nGN83oZ6tXC8EM5P8A12fBHe9Vt2nu\/R9tfwaPxSN9\/kFqKOjp6CmbTUsYjjZwA\/M967NaGtDWgAAYAHJfVyUr5bEqdFQeJu74hERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAoF3u9NZqM1E5JJ3MYOLz3KeuNRSU9WIxURNlEbw9ocMgOGRn5ldVr5kZ4nF4dTN26zVN7qxdr4MsI+4piMADvI9ufNakAAYAwAvqLspNkKVKNNZa7viERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:18",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:17",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:17:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:17:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:17:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:17:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:18:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ShF9L-JPyLfVlbZ0cijMgFW0GxkGauQCC3pIpBmRfUfyGroTUW.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAOwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xAA8EAACAQQAAwQHBgQFBQAAAAAAAQIDBAURBiExEkFRYRMicYGRobEUFTLB0fAWQuHxIyQzQ1JTYnKi0v\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QALxEAAgECBAIJBAMBAAAAAAAAAAECAxESITFBMlEEEyJhcYGh0fBCkbHBFHLh8f\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcylGEHOclGMVttvSSMtdZbIcQ3M7HBt0raPKrdva37PD6vyLRi2ZVaqp97eiJma4lja1vu\/HU\/tV\/PcVGPNQfn4vy+JNxFvlKSqTyd1CtKaTjCEdKD5t\/VL3HzEYKzw9LVGPpK0vx1p\/ik\/yXkWZLatZFKcJuWOo\/LZe4ABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQq2XsaGQpWFSulcVfww0\/dvw2Sk2Q5KOrJoAIJABWcQZT7pxFW5i16V+pT2t7k\/wBt+4lK7sVnJQi5PRFRn7itm8rT4fs5NU4tSu5rWlHafy+ujR2dnQsLWFtbU1CnBaSXf5vxZWcMYf7sxyqVtSurhdupJrmt8+zvv19S6LSf0rQwoQedSer9FyAAKHSAAAAAAAAAAAAAAAAAAAAAAAAADI5jM5ijn69GzW6FpSVV02l\/iLS7TT1z\/F0\/7S0YuTsjKrVjSV2a4ETGZCllLCnd0k4qa5xfWL70SyrVjSMlJXQMBxfb1JcSSlB6mrZVoaf\/AB238ot+435leKqapZrEXfZTUqjpVE+ji2uXwcjWk7SOTpscVLzRe4e\/+88Vb3ekpVI+sl3SXJ\/MmmY4Qbs6uQw9R+vbVu1HfLtRfLfyT96NOUmrSNqE3Omm9f2DLcXN077G3FxSnVs6M3Kcae+1va815ftmpAi8LuTVp9ZDDcy\/8UZO\/l2MThas9\/7lblH39F8z68dxXfPdxk6VnBvfYpfiXwX5mnBbGlojPqHLjm36fgzEeFMg5ekqcRXbqb3tJ\/8A0Hw1mqEZStuI68pa1GNVS7P1f0NOCOskP4tLv+79zK\/fHEmJesljld0U0nVo9fl+aRc4zO47LLVrcL0nfSn6s17u\/wBxYlNkeF8bkJ+l7Dt6y5qpR9V75aevcTeL1ViMFWnwvEuT9\/cuQZL7dxBw2lG+o\/eNlFf60PxRXm\/1+JpbK9t8haxubWoqlKXR9Pc0VlFrM0p1ozeHR8mSAAVNgAAAAAAAAAAAAAAAZbOwjY8V4vIRS1Xfoai117tvx5S+RqSj4usneYGrKKfbt36aLXl1+TZeD7Rz9Ji3TbWqz+xW0pvhPO1KdXaxd7JyhLupS\/p09mvA1sZKUVKLTTW013lZbu24iwFJ3EVOFemu3r+Wffrwaeyow99WwF\/9x5OT9DJ\/5Wu\/w68P30ZZrF4oyhJUWl9D07r7eHI1ZmOOoyjiravH8VK4T+T\/AERpzPcbpPh2W10qx0Vp8SNelK9GXgR8g1i+MLK\/g1GjfxdKo0nzfLr\/AOvwNSZrie0d1wvSuIb7dsoVVy29a0\/rv3F1jL6nksdQu6b5VI814PvXxJlnFMrReGpKPPNfv1JYAMzqAAAAAAAB8bSW29JAHld16NtaVa9xr0VODlPa3taM1wfZVK2FdWcuxGdaTgtctcly9+z5kLutxVePFY56sKck7m47pafRfl4+xGntrenaW1K2ox7NOlFRivJGnDG27ONWrVcS4V6s9QAZnYAAAAAAAAAAAAAAADmcI1Kcqc4qUZJqSfejoAGY4Om7aWQxM5Nu1rNx33p8vy+ZdZXFW2Xs5W9xHzhNdYPxRSXEvuzjyjV1qnkKXYl\/5dPqo\/E1BpN54kclCKdN0pbNry2MlTyeX4YaoZSk7yzSShcU+sV01t9X5P4nOVyNLiipaY3GynKm5+krTcdJJLktPr15+7qa6UVKLjJJprTT7zzpW1ChKUqNGnTcvxOEUt+0Y1rbMh9HnbBi7Pr9zp0qbo+hcE6bj2ez3a6aMzwxWljcpeYGs9dibqUG\/wCaP9tP4mpM9xPjK0vRZiw5Xlnzev54Lu136+jZEHfsvcvXi1apH6fxuaEEPFZCGUxlG8hBw9IucX3NPT9vNMmFWrZHRGSkk1uAAQSACnzfENHEuNCnTlcXlRbhRin39G\/h06kpNuyKTnGEcUnkWN3eW9hbTuLmqqdOC5t\/ReLMxO5yfFtWVKzTtMWnqdSS9ap4rz9i97PWz4fvstcxv+IKreudO1g9KPt10+vizTwhCnBQpxUIxWlGK0kXuoaZs57Tr8WUeW78eR42NjbY61jbWtNQpx+Lfi33skAGep1JJKyAABIAMzxDlri6ulgsS+1c1eVaaevRrw39f1LRjidjKrUVON3\/ANJ9DP07zOyxtpRdanSi3VrqXqxfgvHw\/sW5BxOKt8RZRtrePPrOeuc34snCVr5E0lPD29fx3AAFTQAAAAAAAAAzvGlrOpiqd5SeqlnVU0965Pl9dfAurC7hfWFC6g1qrBS5Po+9fE6ureF3aVrap+CrBwevBrRR8GXEnjKthVa9NZ1XCST3pNvXzUjTWHgcvBX\/ALL1X+GiABmdQAAAAAABDvMdTvbm1rTq1Yu1n24xhLSk\/Px6fXxJhJCbu7kXJV6ttjbmvRi5VIU5OKS3z14d5U8L4lUbZZO7Uql9dJylOp1in3L3GgBKlZWM5U1Kam9vlwACpqDinVp1U3TqRmk9Nxe9PwOyLa42zs4ThQt4xU5uct7luT6vmTkQ73yJQBns1nasrj7ow69LfTfZnNdKS7+fj9BGLbyKVKkacbsZvN1ncLEYhekvqnKU10pL9foTsJhKOHttJ+kuJ86tZrnJ\/ofMJhKOGt2k\/SXFTnVrPrJ\/oWhaUlayM6dOTl1lTXZcv9AAKHQAAAAAAAAAAAADL5WwyGHv6uZxPZlSku1c0XtufNtv+2tGoPjSa01tMtGVjKrTVRW0ezImKyNLK2FO7pNalylFPfZl3roiYZPEVv4bzVXD3PbjbXEu1bVJPk3\/AF5L2rzNYJqzy0K0KjnDtarXxAAKm4AAAAAAAAAAAAAABns\/mbiNZYnFU5VL2suco\/7affvx8+4l4bDW2Bs5NyUq0lutWl3\/ANCdSsLWhd1bqlSUa1VanLb5nrVpQrUp0qkVKE4uMovvT6ou5ZWRzxpPG5yze3d83PlvcUrqhCvQqKpTmtxlHoz0MnhqtTh3NVMJdN\/ZriXbtajfLb7vf09q8zWESjZlqNTrI55NagAFTYAAAAAAAAAAAAAAArc5h6WasJW82o1I86VTW+y\/0ZX8P5iuq8sNldQvaPKEm\/8AUX5vXxNER52FpUvYXs6EHcU4uMajXNL9\/mXUsrMwnSeNThk9+9EgAFDcAAAAAAAAAAAAAAAAAAquIcPHMY5048rin69GW9al4e88uGcxLJ2UqNwnG7tX2Kql1fg\/lz80XRmM7aVsRk4cQ2MO1FerdUly7UeXP996TNI9pYWctVOnLrV5+HPyNOCPZXtvkLWFzbVFOnNcn4eT8yQZnSmmroAAEg8bu7oWNtO5uaip0oLbbOq1anb0Z1q01CnBblKT5JGTjTq8Z5P0s+3TxNtLUY9HVl+\/gvNsvGN83oYVarhaMc5PT5yNTZXlG\/tKd1QbdOotxbWn4HucUqVOjSjSpQUIQWoxitJI7KM2V7Z6gAAkrqksuszBU4W7x7j6zbfb2WIBLZWMbXzAAILAAAAAAAAAAAAAAAAAAAAAA5lGM4OE4qUZLTTW00dAAx8JT4PzUqc03iryW1P\/AKUv6fNew18ZKUVKLTTW013kbI2FHJWNS0rrcZrr\/wAX3Mzlpw3mbWMqry7hVpR7NJLbjKOt6fv18DXKSu3mcaU6EsMY3i\/T5sa08rm5oWdCVe4qxpU4LblJ6RQWnGeP+xdq9k6VzT9WdOKc+014NLXPRnLrOUszduvk5T+z02\/Q2VLfrPnpuX59fIRpSbzIqdNpxisLu38zLiP2vjK7faU7fEUpcl0lVf79y8zV29vStaEKFCmqdOC1GMeiKHF081c3NCu1Tx+PppOFtGHOS10a7jRETexfo8cnN6vd\/ruAAMzqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKPL8S0cfXdla0Z3V9LlGlFPSb8X3+xfIg08Jmsy1UzV\/OhSfS3oNL465fHZpYW1vTryrwo041ZLUpqKTa3vr7T1LqVlkczoubvUeXLbz5lRbcL4a1p9hWMKj75VfXb+PT3E62x1lZvdtaUaLffCCT+JJBVyb1ZrGlCPCkAAQaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:19",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:18",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:18:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:18:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:44 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:18:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:18:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:18:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:18:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:19:03 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:19:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:19:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                
=========================================
FECHA: 09/06/2026 12:19:48
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-j16J0ZomLRPMwJp6iSucUCrOxZJ3Pp_CrG0OTYWtbVbGG51rg_V
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2789",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12932",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA6EAACAQQAAwQHBgQHAQAAAAAAAQIDBAURBiExEiJBURQyYXGBkbETI6HB0fAVM0NSJCU1QlRy4XP\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC4RAAIBAgQEBAUFAAAAAAAAAAABAgMREiExQQQyM7ETYXGRFFGBofAiI1LB0f\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAERxFlq+GtKN1RhTnB1lCqpJ77LT6c1z5EuQ3FtH7bhu60m3BRmtLfRrf4bLQtiVzGu5KlJx1sS8ZKcFJdGtno4cJX9JwlnV3tujFP3paf4o7iGrOxpGWKKfzAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Xturuxr2z\/q05Q+a0bwCGrqzK9wTcOtgFSk+dCrKGvFeP5lhKxwf3bvMU4pKMbnkkunOX6FnL1OZmHCu9GP5oAAUOgAAAAAAAAAAAAAAAAEPl+IaONnG2oU3d3c3pUab5ry35EpNuyKTnGCvJkwDnsa9W5tIVa1CVCo\/WhLXL5M6CCyd1cAAEgAAAAAAAAAAAFY4V5ZrPxXJK55Ly70yzlY4W72cz0\/B3Ok10femWcvU5jm4XpL692AAUOkAAAAAAAAAAAAHmc4U4OdSShGK25Sekj0VGpOrxhk6ltCbp4q1l3pw61X+\/l8S0Y3MatTBZJXb0Rsus3f524lZYBOFKL1Vu5LSXu8vqSeG4dtcR985OvdyWp1p9fh5EhaWdvYW0Le2pKnTguSX1fmzeS5ZWWhWFHPHUd5fZegABQ6AAAAAAAAAAAAAAACscIp+m5l65elfnIs5WODO\/LKVerncvvefX9Szl6nMc3CdFfXuAAUOkAAAAAAAEVfZuFrl7TGUqLr1riXfUZa+zj5\/V+5EpN6FZTjBXkSoBxZbIwxWNrXc+bgu5H+6T6L5hK+RMpKKbZE8U5WpCEMRYdqV7daT7D5wj\/79NkriMZTxONpWlPm4rc5f3S8WRnC2MlCjPK3sN3t3Jz3Jc4RfRc+m\/posJeTssKOajFyfiy1enkgADM6gAAAAAAAAAAAAAAAYk1GLk+SS2zJrrfyKn\/V\/QEMrnAicsRcVWtOdzL3erEs5W+Bf9Al\/wDeX0RZC9TnZz8L0I+gABQ6QAabq8trKi6t1XhRgvGctb93mCG0ldm4xKSjFyk0kltt+BXLrjG3k3QxNvVvrh+qowfZX5\/vqaY4TOZqKlmr90KDe\/RqKW9eT1y+ey+D+WRzviE3amsT+3udF\/xdRhX9ExVF39y3pdj1N+9dfhy9ps4ewla1rVsnkZKpfXL3z\/pry9\/01pEnYYyzxlFUrShGmtc5a70ve\/E6w5JK0RGlJyU6ju1otkCp3MVxRxLG2T3Y47vVOjVSW+nLz1r4MluJMn\/C8PVqQn2a1T7uk\/KTT5\/JP46McNYt4vEU4VFqvV+8q767fh8Fy9+yY\/pWIir+7UVLZZv+kS4BhtJbb0kZnUZBG3fEGJsW4176l2lycYPttP3LeiMqcZ0Ks3Sxljc3tT2R0vzfX2FlCT2MZcRSjk5FlBWP49xFLnHh9peUpPYlxNlrSDq3+Cqxor1pQb7vtf7RPhsp8VT3v7Ms4OHF5izzFB1bSo32dduElqUN+a+B3FWmsmbxkpK8XkAAQWAAAAAAB5nHtwlHeu0mtnoAFa4Gl2cTXt5aVSjcSUo73rkv0fyLKVe8xmTw+Wq5PDUo16dx\/Ot3578P3y5mVxRlpJRXDd0pt6bfa0vb6prKOJ3Rw0qqowVOpdNeTzLOcGSzVhiobu66jLW1Tjzk\/gQio8WZdfe1qeMoyXSC1L9U\/ijvx\/CmMsmqlam7uv41K\/e5+7oRhitWaeLUn04283\/hwLO53ML\/ACfGqhR3r7eu1zXmt8vls92vCMriv6VnLyd5W\/sjJqC+PX5aLMkktJaSMjHblyJXDqWdR4u3sabe0trSHYtrenRj5Qgo\/Q3AGZ0JJZIAAElQzdzRveKra0vKyoWlpH7RynLsqUt+3r0S5e3mSF1xnh7eXZpzqXMvKlDx971+BJXmHx1\/UVS6tKdWa13n15Hu1xtjYpei2lGk0tdqMFv59WaYotK5xqlWUpNNZvXcgf4pxLlV\/gMfCypSXKrWe3+P6MwuEr29fay2Zr1tvnTp9Px5ePkWkDG1pkW+GUuo3Lt7Ih7XhXDWnONlGrLWt1m57+D5fgSlKjSoQ7FGlCnHyhFJfgbAUbb1N404Q5VYGG0ltvSRkq2ayNfM3ksDimn\/AMmv\/tjHxX6\/ImMbsrVqqnG++y+Y4Y7NbO5W6tkvRJT7MHFai37F++paTkxmOoYqxhaW67sebk+sn4tnWJu7IoQcIJPUAAqbA57y+tbCiq13WjRpuSipS8W\/A6DnvbK2yFtK3uqSqU5eD8H5ryZKtfMrLFZ4dTfGSlFSi001tNeJk8UqUKNKFKnFRhCKjGK8EuiPZBYAAAAAAAAAAAAAAAAAAAAAAGm7u6NjaVLq4n2KVNbkwQ2krs3GG0ltvSRD0+KMe8Wr+vKVCMm1GnLnOWvJLzIqVzluLU6VtTdhjW9TqS9aovZ\/5y82XUHuYS4iCso5t6JfmRtyGYuM5dPFYRt02tV7pbSivY\/L6+HmTGHwtrhbX7K3j2py51Ksl3pv9PYbsbjLXFWkba1h2Yrm5PnKT82zrEpbLQU6TvjqZy7egABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARucxcMtYejyrTpd9NSj79c148mwCU7O6KzipRaehx43g\/F4+Uak4yuaqXWr6u\/8Ar+uydSSWktJAByb1Kwpwpq0FYyACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:20",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:19",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:19:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:19:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:19:52 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:19:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:19:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:19:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                
=========================================
FECHA: 09/06/2026 12:20:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-bIrThD9-veAp3NZ4mHzj2P9_Mn+UdzHAh3_FzxIiMNrJxFaKqFo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACFAOADASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA6EAACAQQAAwQHBgQHAQAAAAAAAQIDBAURBiExEiJBURQyYXGBkbETI6HB0fAVM0NSJCU1QlRy4XP\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC4RAAIBAgQEBAUFAAAAAAAAAAABAgMREiExQQQyM7ETYXGRFFGBofAiI1LB0f\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAERxFlq+GtKN1RhTnB1lCqpJ77LT6c1z5EuQ3FtH7bhu60m3BRmtLfRrf4bLQtiVzGu5KlJx1sS8ZKcFJdGtno4cJX9JwlnV3tujFP3paf4o7iGrOxpGWKKfzAAILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Xturuxr2z\/q05Q+a0bwCGrqzK9wTcOtgFSk+dCrKGvFeP5lhKxwf3bvMU4pKMbnkkunOX6FnL1OZmHCu9GP5oAAUOgAAAAAAAAAAAAAAAAEPl+IaONnG2oU3d3c3pUab5ry35EpNuyKTnGCvJkwDnsa9W5tIVa1CVCo\/WhLXL5M6CCyd1cAAEgAAAAAAAAAAAFY4V5ZrPxXJK55Ly70yzlY4W72cz0\/B3Ok10femWcvU5jm4XpL692AAUOkAAAAAAAAAAAAHmc4U4OdSShGK25Sekj0VGpOrxhk6ltCbp4q1l3pw61X+\/l8S0Y3MatTBZJXb0Rsus3f524lZYBOFKL1Vu5LSXu8vqSeG4dtcR985OvdyWp1p9fh5EhaWdvYW0Le2pKnTguSX1fmzeS5ZWWhWFHPHUd5fZegABQ6AAAAAAAAAAAAAAACscIp+m5l65elfnIs5WODO\/LKVerncvvefX9Szl6nMc3CdFfXuAAUOkAAAAAAAEVfZuFrl7TGUqLr1riXfUZa+zj5\/V+5EpN6FZTjBXkSoBxZbIwxWNrXc+bgu5H+6T6L5hK+RMpKKbZE8U5WpCEMRYdqV7daT7D5wj\/79NkriMZTxONpWlPm4rc5f3S8WRnC2MlCjPK3sN3t3Jz3Jc4RfRc+m\/posJeTssKOajFyfiy1enkgADM6gAAAAAAAAAAAAAAAYk1GLk+SS2zJrrfyKn\/V\/QEMrnAicsRcVWtOdzL3erEs5W+Bf9Al\/wDeX0RZC9TnZz8L0I+gABQ6QAabq8trKi6t1XhRgvGctb93mCG0ldm4xKSjFyk0kltt+BXLrjG3k3QxNvVvrh+qowfZX5\/vqaY4TOZqKlmr90KDe\/RqKW9eT1y+ey+D+WRzviE3amsT+3udF\/xdRhX9ExVF39y3pdj1N+9dfhy9ps4ewla1rVsnkZKpfXL3z\/pry9\/01pEnYYyzxlFUrShGmtc5a70ve\/E6w5JK0RGlJyU6ju1otkCp3MVxRxLG2T3Y47vVOjVSW+nLz1r4MluJMn\/C8PVqQn2a1T7uk\/KTT5\/JP46McNYt4vEU4VFqvV+8q767fh8Fy9+yY\/pWIir+7UVLZZv+kS4BhtJbb0kZnUZBG3fEGJsW4176l2lycYPttP3LeiMqcZ0Ks3Sxljc3tT2R0vzfX2FlCT2MZcRSjk5FlBWP49xFLnHh9peUpPYlxNlrSDq3+Cqxor1pQb7vtf7RPhsp8VT3v7Ms4OHF5izzFB1bSo32dduElqUN+a+B3FWmsmbxkpK8XkAAQWAAAAAAB5nHtwlHeu0mtnoAFa4Gl2cTXt5aVSjcSUo73rkv0fyLKVe8xmTw+Wq5PDUo16dx\/Ot3578P3y5mVxRlpJRXDd0pt6bfa0vb6prKOJ3Rw0qqowVOpdNeTzLOcGSzVhiobu66jLW1Tjzk\/gQio8WZdfe1qeMoyXSC1L9U\/ijvx\/CmMsmqlam7uv41K\/e5+7oRhitWaeLUn04283\/hwLO53ML\/ACfGqhR3r7eu1zXmt8vls92vCMriv6VnLyd5W\/sjJqC+PX5aLMkktJaSMjHblyJXDqWdR4u3sabe0trSHYtrenRj5Qgo\/Q3AGZ0JJZIAAElQzdzRveKra0vKyoWlpH7RynLsqUt+3r0S5e3mSF1xnh7eXZpzqXMvKlDx971+BJXmHx1\/UVS6tKdWa13n15Hu1xtjYpei2lGk0tdqMFv59WaYotK5xqlWUpNNZvXcgf4pxLlV\/gMfCypSXKrWe3+P6MwuEr29fay2Zr1tvnTp9Px5ePkWkDG1pkW+GUuo3Lt7Ih7XhXDWnONlGrLWt1m57+D5fgSlKjSoQ7FGlCnHyhFJfgbAUbb1N404Q5VYGG0ltvSRkq2ayNfM3ksDimn\/AMmv\/tjHxX6\/ImMbsrVqqnG++y+Y4Y7NbO5W6tkvRJT7MHFai37F++paTkxmOoYqxhaW67sebk+sn4tnWJu7IoQcIJPUAAqbA57y+tbCiq13WjRpuSipS8W\/A6DnvbK2yFtK3uqSqU5eD8H5ryZKtfMrLFZ4dTfGSlFSi001tNeJk8UqUKNKFKnFRhCKjGK8EuiPZBYAAAAAAAAAAAAAAAAAAAAAAGm7u6NjaVLq4n2KVNbkwQ2krs3GG0ltvSRD0+KMe8Wr+vKVCMm1GnLnOWvJLzIqVzluLU6VtTdhjW9TqS9aovZ\/5y82XUHuYS4iCso5t6JfmRtyGYuM5dPFYRt02tV7pbSivY\/L6+HmTGHwtrhbX7K3j2py51Ksl3pv9PYbsbjLXFWkba1h2Yrm5PnKT82zrEpbLQU6TvjqZy7egABQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARucxcMtYejyrTpd9NSj79c148mwCU7O6KzipRaehx43g\/F4+Uak4yuaqXWr6u\/8Ar+uydSSWktJAByb1Kwpwpq0FYyACDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:21",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:20",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:20:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:21:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-LFlxAx_-zAQYM+ayxgPyKPILDMBTPX7Z4q9sMkdSkMnTZaoyxtN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB\/ANYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgYIAwYHAAAAAAAAAQIDBAURBiExURITIkFhcRQygZGhscHRFRYkM0JDkuHwByNSU1SC0v\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QAKxEAAgIBAgMHBAMAAAAAAAAAAAECEQMSITFBUQQTIiNhoeEykbHRccHw\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAABBvNetrtM9Y3oq+NvZR2cK5VwnDzPtnmnqLRSzVX7Z8aOdtjP9oU+uHuW1QUzPXnqGtTPLC\/XBo42NijbG31WIiJ5ITaqKM8ZOWaS5JL3PQAIGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzGof1Gp7JSrwa9ZFRN87ovD\/r8zTmYmRKr\/EODCZ9Fpu1ju2Xj\/Ohpyc+CRmwbynL1\/CQABA0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA41UqwUk0yLhY43Oz5JkHG6Vmd0qnpd2u9yX9+bq2eWVX7GoM7oeJI9PI5E\/aSucvwT6GiJ5PqZn7KvJT67\/cAAgaQAR62vprdTrPVSpGxOfFV5IOJxtJWyQDJ\/id+1FltrgShpf8AkSru7yX7e8ubNa6i2Ry+k3CasfKqKqv4N8t1\/tCbjS3ZTDN3j8KddSzABAvAAAAAABS6h1Ay0xJDAiS1su0cSJnHiqfLmfdQ35tohbFCzraybaKNEz4ZX7d5H0\/p99NKtzubuuuEva7W\/V5+vy4IWRiktUjLkySlLu8fHm+nyXNCtStHEtXjr1aivRE4LyJABWaUqVAAA6AAAAAAAAACq1PP6PpytdnCuZ0P5lRPqWpQa1crdOSIn70jEX3kobyRT2h1ik\/Rk3TtOlNp+ijRMZiR6+bu0vzLIj29vQttM3OejCxM+xCQcbtk8aqCXoAeXOaxive5GtamVVVwiIZarvFdqCd9vssatpc9GWrXKbd+OXzOxi2Ry5Y411b4IlXHVKJUrQWiBa2rzhVT1G89+\/5eJxpNM1NfO2s1DUrUSJu2navYb54+Se9S4tNnpbPSpDTty5d3yO9Z6+P2J5JyS2iVLDKfizO\/Tl8nxrUa1GtREREwiJ3H0ArNQAAAAAAKu93uGzU6KqdZUSbRQpxcv2JF0uUFpoX1c+Va3ZGpxcvciFLp62T1dZJfrmzMsy5p43Lnq28\/djH9ScUqt8DPlyS1LHDi\/Zdf0dbDYpmVC3e7OWSvl3a1f4SffHuNCARlJydssx44446UAAcLAAAAAAAAAAAAAU2rKd9RpyqbGmVYiPVPBFRV+GS5PL2NkjdG9qOa5FRyL3odTp2QyQ1wcepAsFS2rsVHK3\/aRqp4t2X5HK76iobS1Wvf11RwSCNcu9vIr3aQlY97KW8VFPTSOVywsRURF9i4+BPtmmLbbJevjjdLNnKSSr0lb5cvmTei7szRfaHFRSr1+CqdSX\/UiolZ+gt79+rTZ708U4+\/HkaSioqe30rKamjRkbE2Tn4r4kgEXJvYux4VB6rt9WAARLgAAAAACLT3Glqqmemhl6UtOuJG4XZQd2xRsc57I2tc9cuVEwrvPmDrORutzJ3OaK66oSjr54YKChTpqkrkb1i7bb+Pw8y4m1TZKZMLXMdjgkbVd8kO1bYLXcZuuqqRr34x0kc5ufcqe8Q6ftEHqW6n273MRy\/HJY5RaVmRY80ZSca357lXLrehc\/q6OmqKqTuRrcIv1+B5\/NdxdvHpqsenPtf+DSRwxQt6MUbI28mtREPZHVHoT7vM+M\/sl\/dmY\/NlwZvNpusjZ3u7X1ah6Zreia5G1dJVU6rw6TM7GlPL42St6MjGvbycmUGqPQd3mXCfsiFRXu2XBejTVkb3\/wChVw7lwUnlNcNKWmva79MlPIvB8PZ38uCkG0zV1s1B+CT1a1kKxq+Nzt3RpvhFVd+XPu9jSmrQWXJCSWRcea\/RpwAQNIAABWU98p6m8zWtkUqSQtyr3Nw3u2337\/gWYB11yIxUl9TsAA4SAAAAAAAAAAAAAAAAAAAAAAAAAKa8aihtkzaWGF1VWPTswx8U5Zxn3FZ+FagvrlddKr0Gld\/AiXdyclx9VXyJqG1vYzzzpPTBW\/8AcWS7tqdsU3oFpZ6ZWv7KdDdrF8ef07yRp+yvtrJKmrlWauqN5X9LKJ4Ey22iitUXQpIUauMK9d3O81JoclVREMUnLXke\/JckAAQNAAAAAAAAAAAAAAAAAAAAAAAAAAAAOc00dPC+aZ6MjYmXOcuyIdCj1PbLjdqSKmopmMjV\/wDmtdsipxRVXkipwx3+B2KTdMryScYNxVsq4tTVM9WlyqJfQ7XEqoyLCK+dd02Tv7s9yHZLrqC9r0bbRJRUz02qJs5xzT+iL5ne0aOpKLoy1ypVzt4I5Ow32d\/tNGWylFPwoyYsWaUfMlX5+P4RUWXT1PaVWd73VNW\/1538fZyLcAqbbds2QhGC0xWwABwmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"128956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:22",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:21",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:21:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:57 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:21:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:21:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:44 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:22:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:22:55 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:22:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:22:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:25:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:25:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:25:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:25:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
=========================================
FECHA: 09/06/2026 12:26:24
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-eQN8voYOdJwREb+DjTOIUEfg_7b7NyTC2Dnrfwo60pXRNG0sP7_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3146",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12950",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADoAQUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMCAggDBQYCCAcAAAABAAIDBAURBiESMRMiQVFhcYGRobHBFBUjMkIWJFLR8PFi4QclM0NjkrLCNURTcnSC0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgUFAQEAAAAAAAABAgMREiExBBMiQVEyYXGBodEUI7HB8DNCUpHh8ST\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARcqmpgo4HT1ErYo2DJc44Cy8t2umpJHU1mjdTUg2kqX7Ejw7vIb+SlGLZTUrRp5avoXVRf7fT3KG3mXjnlfwFrBngJ5Z9VZqrs1go7MwmIdLO788zx1j5dwVokrcjtPeWvMIiKJaFwrY6iWjljpJhDO5uGSEZDSu6IcaurFFpu7VFW2agr2ltbSHD883jv\/AK8D2q9WXujG27WlurGEj7ZmKQdhOzR82+wWoU5parmUUJOzhLWLt7BERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBQLteKSz0xlqZBxEdSMHrPPgPquF9v0Nng4WgS1Um0UI5k958PmoNp06+eoF1vZ6aseeJsTvyxjsGPp2KairXkZqlWTlu6evovzoRqe2V+p6htZeQ6no27w0zdifE\/z5+S1UUUcETYoWNjjYMNa0YAC9ouSk2TpUlTz1b1YREUS4IiIAiIgMxq7DK6zTnbo6n83PG7T9Fp1mNa7RW4t3eKkcI7\/62WnU5dlGal+tU8voERFA0hERAEREAREQBERAEREAREQBERAEREAREQBU1+vwtbW01PGZ66faKMDOPE\/yXu\/3uOz0nVHSVUvVhjG5J7yO5RtOWOSk47lcfxK+o6xLucYPZ5\/2U4pJYmZqlSUpbunrzfT\/AE8WDTz4JTc7oemuEp4usc9H\/n8uxaJEXJScndltOnGnHDEIiKJYEREAREQBEVZVaitNHL0UtZHxg4LWnix545LqTehGU4wV5OxV6v8AxKyz0\/bJU\/Vo+qnXjUtHa3fZ2A1NWdmwR7kE8s93lz8Fmb1cRqW\/UdJb3FgicWsmJIyeZcMcuS1Vn09RWdvFG3pag\/mneOsfLuVzSjFYjBCc6lSbpaZZ+XIqxT6sureOSpitsTjkMb+cD03+IXo2bUtD1qO9CoxjqTtxkdwznHLwWnRQxvoaPho6uTv1uUVj1C6vqHUFdTupq6MdZpGzvLu78K9WX1SfsN3tV1BDWxy9HIT\/AA\/24lqFySWTXM7RlK8oSd2voERFA0BERAEREAREQBERAEREAREQBVt8vMNloDPJ1pHdWKP+J38u9Sq2tp7fSvqamQMjYNz3+A8VnLJRT36vde7m09E137pEeQHfj28ypxS1ehnrVGmqcO0\/TvJGn7PPLMb1dj0lZLvGxw\/2Q8uw\/JaNEXJScncsp01TjZBERRLAiIgCIiAKNX3ClttMairlEbByzzce4DtK4Xm7w2ahdUyjjdnDIw7BeVmJoTI3791Mdv8Ay1ENs9oGPp79ynGF82Zq1fBwx19F4n24XO5Xelknlf8AdtoB2kx15h2ADmSfQeKiWfS7rxIyodE6lt4\/KScyS+P+fLuCs7fZ6rUFTHdLw0MpgP3elbkDh7NuwfPyWsJZFHnZrGD0ACsc8KtEyU9n3zx1NO\/n7LuMnTUtP+3jIKWFkcVDT\/laPDn4nL1rlmNJNdWVlyu7gQ2pl4Y87bAk+uxbv5rTqFTWxq2VcDkubb9giIqzUZvXQ\/1Ex3a2oaQe44ctDES6JjjuS0ErP65x+z4znPTNx7FX9Pn7NFxYzwDOPJTfYRmh+vPwX3OiIigaQiIgCIiAIiIAiIgCIiAL45wa0ucQABkk9i+rLajrJrpXxaeoHgOeeKeQHZoGeqfn7BSjHEyqrUVON+fLxOH4ms7n2x2qkf5GU\/29gfFa9rQ1oa0AADAA7FwoqKnt9KympowyNg2Hf4nxUhJSvktCNGk4JuWcnqERFEvCIiAIiIAiKvvty+6rRPVDeQDhjGP1HYfz9F1K7sRlJRi5PRGVut0p63UbqmoPFQ2zZrR\/vZO4eZHlhqsrRa57zVNvV4bzOaenOcNHYcH+jzVTpfTclxe2vuDSaYOLmMfzlPefD5rfK6clHhieds1KVX5lTRu9uv8AzkFQ6vuApLOaZhzNWHomAZzj9R28NvVXrnBrS5xAAGST2LJ0I\/aPVclwPWo6Dqxb7OcOR+Z9Aq4LO75GraJPDgjrLL3ZoLPb2Wy1wUjRgsbl573Hcn3U1EUW7u5fGKilFcgiIuEjMa769spYBzkqRj\/lI5eq06zGsPxKuz04\/NJU7e7R9Vp1OXZRmp\/rVPL6BERQNIREQBERAEREAREQBEXiWVkMT5ZHBrGNLnOPYBzKArdQXhtooC5nWqZepAzGSXd+PD+S5abtD7dSOqKo8VbVnpJnHmM74+O\/iqyywyaivL75VMIpoXcNNE4\/lcMb\/Xz8lrVZLhWEyUvmz3r05e\/mERFWawvnEOLhyM4zhVeoLy20UOWdapmy2BmM5d3+mVz05a56KndVVssklZVAOl43Z4e4fFSw5XZTvfmYEvHuLlFFqblTUlTBTSvPSznDGtaSeeMnHIeKlKNi1NN2QREQ6fHODWlziAAMknsWErK46s1HT0DBiiikO45uaObvDIG3mrO\/1lTeLh+z1uOCOtUy9gbtt5bjPjgd646QoYPva41UTQI4XdBECN8d58SAPcq+Kwpyep5tabrVFSj2b599tUa1rWsYGMaGtaMAAYAC9Is7e75K+o+57P8Ai1snVe9vKIdu\/f8ALzVSi5M3VKkacbs5ahuUlxq2aftrwZJTioeBkRt7v5+yvbdQQ2yhipIB1YxucbuPaSotjscFlpuFv4lQ\/eWU83HuHgrRdk1otCulTld1J6v0XQLy5zW44nAZOBk8yvSyNU6bVGoBRxOe23UL8yPYcZeM8j57DwyVyMbkqtXAlZXb0NciIolxmLwOn1taIP4GGT5n\/tWnWYZ+8f6RH43+zU2\/hkD\/APSsL7f4LLCAW9LUyD8OIdvifBWSTdkjHSnGG8nJ5X+mRbosTpqsqa+6S3a43ARRsBjaxz+Frid+Eb8hsfZa+KtpJ38ENVDI7GeFkgJ+C5KDi7FtGuqscWh3REUC8IiIAiIgCIiALMaqq5aupprBSH8WqIMrgT1W+nkSfAK\/rqyKgopaqZwayJuTn4D3VHpejfVST3+rH49W49G0\/pZyHyx5DxVkMuJmWu3Nqkuevh+ZF9SUsVFSx00AIjibwtBOV2RFWaUklZBc6ieOlp5J5nBkcbS5xPYF0WVv9RNe7rHp+jcRG0h1W8YwG5B+HzwpRjdldapu43WvLxPljppb9c332uDjCx+KON3IAE748Pn5LQ11xprfRTVU0g4ItiAdy7sb5o9sdutbxA0NZTwksAHLAX5PNM+VreKV7y7d\/ESetk7+ytjHeO\/Iw1a3wkEtZPV95s9LyG93yrvNQAHxAMiYP0Zz2+Qx6la9ZrQtKYbG6d3OolLh5Db5grSqFTtGnZE1RTerz\/sKl1JeTa6RsNOOKsqepC0c29nF\/XarWpqI6SmlqZncMcTS5x8AsXabjQyXCa\/3ipiZK48MEABcWjvAG\/Zj3KQjfMbRVw2gnZvn0XUvrNam2G0Szyta+rLHSTSZzkjJxlQ9Guho9OPqaiVsbXzOc57zgdg5+iiXTVM1xt9RFbbfK6AxuEk8g2aO3YeHefRc7Bpg3O2089fWSPpdzFTMcQBuc+W+eXurLcLcjKpreRjRV7J\/YmVmo6u7SPobBA95PVdVEYDfLu8z7K2sdjgstNwt\/EqH7yynm49w8FOpqWCjgbBTQsijbya0YXZVOWVlobIUXix1Hd+i8AiLOX+\/yRzfdVq\/ErX7OeDtEO3fv+S5GLk7IsqVI044pHLVGoOjBtFvJkq5yGOLT+TO2PM\/BXFktUdntrKVpDn\/AJpHgY4nH+seiyeirX9puUtxlPSR05LWOP63nt37h8wt4p1LR4UZdmxVW60+encgih3K60dpg6arlDf4WjdzvILNzV931DG+WF33ZagDxzv\/ADOA5nx9NvFRjBvMvqV4weFZvp+aESG\/0tr1FeKuZr5Huf0cbG\/qwcHfsGwVTA24akvjuF34s2S53NsbPoADhQaGgqLlWNpqSMue89vJo7ye5fplkslPZaToouvK7eWUjdx+g8Fom409NTyKEKm0uzyincr6XQ9qhjLZzLUOOMkv4R7BKnRFrkj\/AHV0tLKDlsjXl2D5H6YWjUevq20NBPVO5RMLuWcnsWfHNvU9V7NQUc4qxUaSuFTWUE0NW8ySUspj4yclw8T2nmi+aLpDT2Jszh16l5kJPPHIfLPqiTtidiWzYtzHEaBERQLwiIgCLjUVVPSR9JUzxws\/ikcGj4rP1+ubdA1zaRslTJjY44WZ8Sd\/gpKLloiqpWp0+27HjUD3Xy7QWGmceBh6Wpewg8I7vTPxC00UTIYmRRtDWMaGtaOwDkFhrJR6maJaqlhjjdVkPdUT44iOfI9norX9n79V711\/ezvbACB8OH5KyUVpcx0ak23PA235ZctTSvkZGMve1o\/xHChy3u1w\/wC0uNMNs4EoPyVPHoW25Dp6iqmI73gD5KZFpGxxHP2LiP8Ajkcfqo2h1NGLaHpFLxf+Hyo1fZYoXOZWCR4B4Whjtz7LOad1Fb7VBPNWCeWrnfxPcxgO3dkkeJU\/VtDQUVuhpaOggZUVUoYwtY3iwO48+eB6rTUdBT0VLFBHGzETQ3iDQCSBz81K8VHxM+GtUrZtLD3dfMzNw1fFXW+opqW31TnTRuYC5oxgjGds96xs8boGiKWnfDLxFx4wR1dsbH1X7A5wa0ucQABkk9i\/K7\/X\/el6nqGbsJDIxjsG3YrKLTySMu305RSlOV34Glt9RqmG3wU1JaoWRxsAD5Xbnx\/MPkpIotX1TR0txp6YHm1oHEPZv1WmAAGAMALP6s1B91Uv2ameBVyjb\/ht7\/PuVSk5OySNs6UaUMU5uy7\/AGMrPT11wvn3ULpNWt4g18hc4sGOe2Ty7+9Wos1HY9UUcD4hU01Uzhb0zQ4h\/wDfHupGg7aI6Sa4yR9aU8Ebj\/COePX5Lvq4iCvs9YcgRVG5A8Wn6fNWOXFhRkhRSo76Szun5XLa+tA0\/XNa3AED9gPBcdKEHTVHg56rv+oqfVxiqoJ4mkOEsTm7b5yCFTaIl6TTzW7fhyub8j9VV+xnoPLaF3p\/VGhXxzg1pc4gADJJ7FCud4obTGH1cwaSOqwbud5BZ7hu2rnN4+KgtZ32PWlGfj8vNcUb5vQlUrqLwxzl09+h3uWoam4zOtun2GZ5GH1Lfys8j9fZRrnQw6a00+CIGWsriInydrs88eHZjxWnoLdS2ymFPSRCNnM97j3k9qyut7nAKmkhhk46imfxvbjLRyIB9hsrIO8lFaGSvFwpupUfFp4X6Gjt1PT2OywxSvZEyJmZHvIA4jud\/NVFXqipr6g0enqc1D8dadzcNb5Z+ZVDTVNBdX\/atQXiRzmnIp2sdj3AwPT3VodZW6ipxTWe2u7mgtDRnyGST8V3A09Lv0IfExcUlLDH+3\/hPt2lIopvtt3m+21R6x4jljT68\/XbwVRq\/UcVTH92UL+KNrvxZGnZ2P0jvH8l8q4r\/d6SSsukho6GNheY2gt4vDh57+KqaO2Cb7up3sBlrZuLxbEDjPr1j6KUY54pMpq1Hh3dKNk+b1ZuNMWqK22iFwjAnnYHyuO5JO4Hp3K5XwAAYAwAvqzN3dz2KcFCKiuQWV1FWS3eubp2hALnEOnkycMA3xt6euApN91BJFN912lhnr37EtGRH\/n8lK0\/ZGWej\/EIkq5etNJzye4HuU0sKxMz1Jb6W6jpzf2LOCFlNTxwRjDImBjfIDARdEVZrSsERQrpdaa0UhqKl+OxjRzce4LqV8kclJRV3od6mqgo4HT1ErY4283OWck1DcbxM6n0\/TEMacOqpAAB6EYHxPgudHbK\/UtSy4XkGKjG8NKDjiHYT\/PmfJaqKKOCJsULGxxsGGtaMABT4Y97MqdStmuGPq\/YztPo9s0wqbxWy10v8OSGjw7\/AJKFUU1PeNRMtFJCyGhoTxz9G1oDnD055238Vor7cvuq0T1Q3kA4Yxj9R2H8\/RQtJWw2+0iaYH7RVnpZCeeP0j238yVJSdsTK5UYY1Siu9\/neXjWhrQ1oAAGAB2L6iKk3hERAZaq\/wBaa8p4Bgx2+LpHD\/Fz+Zb7LUrL6SzWV91uh3bNNwMx3DJ+RatQrJ5O3Qy7NnFz6tv7IpNXV5obDLwO4ZJiI2kEgjO55eAKwVkpHVV4ooyOq6UE454Byf7rQf6QKviqKWjDh1GmRw89h8iuehreX3Seqe3alZwNy3HWPP2GfdXQ4adzzq9621qHJf8AWbepqI6SmlqZncMcTS5x8AvzG4fb7jUMrJGvM1a5wiia05LOzzG+B5eS1Woqp92uMOnqR2eNwfUPafygb8Pwz54Xi3wRza3e2JvDDbacRs7N8Y5D\/wBzlGnwK5ftPz5qC0vbz5\/0hS6tp6CjhpX2qri6JgaG8Pdtnfxyudfqyx3Sm+z1FDVzNDg4DhaMHv2d4\/FbBFXije9vU0ujVw4ceXgfnFvu01nugFupKl1POMR0853cT2jA7\/mV2sk98hlqrPb4Y4HuJld0v5osgeOO4cjzWq1BZDeKeN0EghqoHcUUh5eR9h7KouxmsuobbdKh3E2SMQ1MjRgOdjBOPj6K1SUtFmYpUJ0ndt4U+XR6+BPtmlaenk+13F5rqwniL5CS0HwB5+qv18BBGQcgr6s7k3qepTpwpq0UFUVumLVX1b6qogc6WTHEQ8jOBjkPJW6Im1odnCM1aSuVUGmLNTkltBG8k5zJl\/wKnQUNJSnNPSwwn\/hxhvyXdEcm9WI04R7KSM1q2SWpkobPFkCsky88tgRt9fQKPYIG1up6utaP3eiYKeDq45DhHwB9\/RdNbt+zw0txhnMVVE\/gjwcEgjfs8PioVmOpLRQ\/ZqezMc0vLy55wST6+AV6XBkebUf\/AKeJN2zyz5Zet2bUkAZJwAszcNQVVyqfu3Tw6V\/+8qf0sHgfr7IbFd7zMX3qu6KAE4p6c4BH9d+Sr2gt1JbYOho4WxN5nHNx8T2qvhj3s1ve1clwr1\/wiWSxQWeEkHpKmQfizHmT3DwyrVEUG23dmiEIwjhisgiIuEgsnHE2\/ayqHVDQ+mtw4Gsc3Yu8fXJ9AtYsxpb\/AMc1B\/8AJ\/7nqyGSbMtdYpwi9G\/ojToih3a4MtdsmrH4JY3qtP6nHkPdQSvkaZSUU2yiugF91VT2wZdS0Y6SfbILueM+w59p7lqVntIUEkNufX1PWqK1xkLiN+E8t\/Hn6haFSm87LkZ9nTcXUess\/LkERFA0hRLrN9ntNXMObIXkeeDhS1V6lz+ztbj\/ANP6rsdUV1XaEn3EbRsIi03A7tkc9x2\/xEfIK9VZpzH7PUPDnHRDmvN5v1PamGJv49Y4fh07N3EnlnHIKUk5SdiunKNOjFyeVkYPUtU6t1HUujPFwPEbOEfw7beuVruOLSGl2NcAalw\/Ln80h5+g+QUXTVjbbo5bveGCOZpLm9IfyDtcfFLbE\/U1+fdqhn7lSngp2ObtJzwfqfQdiuk08uSPPpQnFuf756dy5sn6Ztht1DJXVhP2uq\/Emc79I3P1yf8AJRtFxmaKvuTx1quoPPuG\/wA3H2VxfZ\/s1jrZQcEQuAPcSMD4lRtKQdBpukGN3gvPjkkj4YVbd4t9TXGmo1YQX7U39vcuERFUbQod0t8d0t0tHLsHjqu\/hI5FTEXU7ZnJRUk0zNaXu5bGbPcXiOspncDA84L29mM8yPlhaVVF709S3dnSD8GrYPw527HPYD3hVtJqKstD20eoYXtIxw1LBxAjf82OfLs9lNrFnEyRm6HBU05P3NSi5U9TBVwiammZLGeTmHIXVVmtNPNBeZJGRRukkcGsYC5zidgBzK+SyxwxuklkbGxoy5zjgD1WUuNfLqivZara94ogc1NQGnBx2fDbvJ7gpRjcqq1VTXVvRH23R\/tPf33WVpNDSHggY9uzzvv6Hf2WtXCjpIaCkjpadnDFGMNC7pKV2KNPBHPV5sIiKJcEREAREQBZaLNm1u+PAFPc28QJ7H8+fnn\/AJgtSqm\/2b73pozE8R1UB4oXkkAHbnjyHspwaTsyivBuKlHVO\/55FsstqAi83+isjTmOM9NUYPIY5eeP+pKbVU1vL6S\/QOiqIweGYNPDLjyHb3jbyXrR1M6ZlTeKlwdU1bz\/APVufhk9ncApKLheTKJ1Y12qceevckaZrQ1oa0AADAA7F9Rc5JooQTLKxgAyS5wCqN2h0RVdTqWzUpIkr4iR2R5f8sqsOr5Kxxjs9qqKp\/LicMNb54z8SFNQk+RRLaKUcsWf9mnVNqSuoIbVU01TUsZJLEQxmcuJxtsOW\/aq8W\/U923ra9tviOD0cHP4HPuVNoNI2micJHxGplBzxzHPw5LqUY5tlcp1KqajGyfN+xQ2m53ystMFvtVJwNjaWPqnchv2HkNiO8q+tGmqS1k1VS\/7TV\/mdPJ+k9uM\/NRHWO72iqlksU8Rp5n8ToJeTT4bcvXPLuXmS16luzDBcayGnpn7vZEMu8v6Km2no7IzU4yhbHFyktOn56nGtmm1dcBQUTnMtsDgZphtxnw7\/D3Wqp6eKkp2U8DAyOMYa0LxQ0NNbqVtNSxhkbfcnvJ7SpCrlK+S0NtKk43lLOT\/ACyKLWb+DTc4zjicwefWCs7Yzo7VSMxjhgYMd3VCrtW0lRW2J8VNE6WQPa7hbzwralY6OlhY8Yc1jQR3HCPsI5FPfyfcvudURFA0BERAFyqKaCrhMNTCyWM82vGQuqIcaTyZm5tGwxvdLbK6ooHnkGOJA+R7+ZPNePu3VzB0bLxTlgP5nN3I\/wCUrTop7x8zP8NT\/bdeDaMwNL11e5hvN1knY0kmOM4aeWOzz7FoKSjpqGEQ0sDIWDsaMZ8+9d0XHJsshRhB3Sz68wiIoloREQBERAEREARF5e9sbHPecNaCSe4IDL6ud94VlDZYGsdLLJxPdsSwfTbJPkurtD29ruOmqaqB+MZDwfpn4rnpgS3S6V19mZhrz0UAPNrf7YHutSrZSceFGGnShWvVmr308EZgaLbyddqtzTzGV0i0NaWODnvqJTnJ43jB9gtGijvJdS34Wj\/Eq6bTdmpcdHQROI7ZBx\/PKsmMZGwMjaGNaMBrRgBekUW29S6MIx7KsERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFntY1j4rYyghaXT1zxGwAcxkZ+YHqtCsrTFt81rLUB5dT25vCzuLtx88+eApw1v0M20t4cC1ll7+hoLdRMt1ugpGcomY8z2n3ypSIoPM0JKKsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIN5rvu201FSHNa9rcR8XIuOw+KhaToHUVkjfKPxqk9M89pzyyfLHuoesC6smt1ojJBqZuJ+DjYbfUn0Wla1rGBjRhrRgDuCseUPEzR467f8Vbzep6REVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgM3T0tRV65qKyeF7IqSIMhcQcEkY2PLtctIiKcmUUIpJ97YREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1083\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:26",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:24",
    "horaDespacho": "12:22",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:29 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:26:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:48 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:49 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:50 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:26:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:26:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:28:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:28:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:28:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:16 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:32:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:32:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:33:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
=========================================
FECHA: 09/06/2026 12:34:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-AkEWTv0IFdX9h+i3qq1aeaYAjTPTdViX3pvB.SwF8hAJYeuVQCC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3135",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1080",
    "contadorColor": "3001",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, configuracion y limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12948",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAD7APoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABHEAABAwMCAwQHBQQGCQUAAAABAAIDBAURBiESMUETUWGBFCJxkaGxwSMyQtHwFSSS4RYzQ1KC8QclNFNicrLC0iY2VnPi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHBAEEAwAAAAAAAAECAxESITEEE0FRcSIyYaGx0fCBkcHhMwUjNFJCU2L\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREARFxqaqGjp3TzvDI28yfkhxtJXZ1c4NaXOIAAySeii0F0o7myR1HMJBE\/gdjbf8ALxWbdJcNYTFkJfSWlhw5x+9Ly2\/Ww8Vp6GgprdTNp6WIRsaOnM+JPUqbiorPUop1ZVJXiuzz59CQiIoGgIiIAiIgCotR1tZa5KOvikJpI5OGojAG4PX5+eFeqBfIRUWOtjON4XEZ7wMj5KUdcyqsm6bs8yax7ZI2yMcHNcAWkdQvSptJ1BqNOUrnOLnMDmEuOTsTj4YVyuNWdiVOeOClzCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIi8uc1jC97g1rRkknAAQHmeeKmgfPM8MjjHE5x6BZJrKjWdwbLI10Npp3eqDsZT+fyXrjn1jcnxBzorTTO9YjYyn9e4e1auGGOnhZDCwMjYMNa0bAK3udTH\/AJD\/APHr+j7FFHDE2KJgYxgw1rRgAL2iKo2BERAEREARFVXjUFFZ2Ykd2s5xwwMPrHPf3BdSbdkRnOMFik7ItCQBknACprrqK000E0D6xjpXMLeGPLtyD3bKtFJfdTYdWvNuoT\/YsyHvHj3+fuUm52a12fT9XLDSsMjYi1ssnrOBPqggnkd+isUYp2ZlnVqSi5QVlzfsU+nb9V0NpFPTWaorA15JfHnG\/TZpVmdYVNOO0rrDV00OcGQ5+rQPirLS9N6Lp6kYWkOe3jdnn6xz8sK1c0OaWuAIIwQeqSlHE8iNGlVVONp2y5IjUFxpLnB21JMJGjGQObTjOCFKWWuMI03eaWvpGGOhqHdnURM+6CeTgP1y8VqVCSSzRopTcrxlqgiIolwREQBERAEREAREQBERAEREAWTu9bPqC6CyW6Qimb\/tUzdx7PZ8z7FM1NdpImMtVDh9bWepgHdjTtnw\/RVhZLTFZrcymZh0nOSQDHG79bKxdlYmZKjdaW7Wi19vckUVFT2+lZTU0YZGwbDv8T4qQiKs1JJKyCIiHQiIgC+OcGtLnEAAZJPRcaysp6CmdU1UgjjZzJ+Q71l3PuOsJi2Ivo7S04Ljzlwf14DxUoxvnwKatZQ7KV5PgSK\/UdVX1Lrfp+LtpMYfU\/hZ4jp5n4qbZtNU1rf6TM41VY7czP3weuPz5qxoLfS22mFPSRCNg545uPeT1KkrrllaJCFFuWOo7vyXT3CzGsZXVJobRFnjqpgXYHIDb658lpJZWQxPlkcGsY0uc49AOZWY02x94u9Tf52YaCYqdpA2HU+Q28yuwy7XI5tDxJUlrL04mojjZFG2ONvCxgDWjuAXpEVZqKHWgB03MT0ewj+IK1tri62UrjuTCwn+EKr1lIGaZqGn8bmNH8QP0VlaozFaKOM82QMafJoU33EZo\/5D6L1ZLREUDSEREAREQBERAEREARFmtNSyG+32OSRzuGfLQTnA4n8vgpJXTZXKphlGPM0qg3i5xWi3SVUhGQMRtP4n42CmucGtLnEAAZJPRZKLi1XqIyne20DsBudpXb4Pn8vauxV83oQrVHFKMe89Pf6EzTNsmJkvVwy6sq9wHDHZt\/mMeWFokRRk7u5OnTVOOFBERcLAiIgChXW601oo3VFQ7wYwc3nuCXW601oo3VFQ7wYwc3nuCpbVaqm71jbzeW+NPTHkwdCQpxjxehnq1XfBDveniznRWet1BUsuV7cWwfehpBsAOmR+iVqWMZGwMjaGNaMBrRgBcqusp6CmfUVMojjYNyfkO8rLmS5auqPsHSUVqY774OHS4P68B4ldznm8kV9mhks5P7v2RrgQRkHIK+rxDE2GFkTSS1jQ0EnJwFmb1fKivqv2LZDxzP2lnadmDrg\/M+7dRjFyeRfUqqnG7+x5vNZNfrkyyW57+xY798lbyAzyz4b+0rSUdJDQUkdLTs4YoxhoUWy2eGy0Ip43F7zvI8\/iPs6BWK7JrRaEKNNpuc+8\/LwCIigaDM66e79kQQM3dLUNAHfsfrhaRjBGxrG8mgALM6oPpN8s1AORl7R+\/TI+gK1Csl3UZqWdab6L59wiIqzSEREAREQBERAEREAWX0v9vfb1VM2jM3C3nvu7f9d60dVMKakmnOMRMc858BlZnS88Np0nNcKg7Pke\/fYvI2AB9oPvVkV2WZarW9hfhd\/Pud9U188pislvPFVVez8HkzByD3Z+QKubZb4bXQR0cGS1g3cebieZKpdK0UtQ6W+1p4qiqJ4M42Z+hj2BaVJ5dlCgnNurLjp4L9hERVmoIiIAo9dWwW6kfVVL+GNgz4k9w8V1lljghfNK8MjYC5zjyAWUiZLq+7tqZWObaaU+o123au\/Xw26qcY3zehRVquNoxzk9Pc92Wgmv1Z+3Lq3MYP7rAfugd\/658+5aeaaOnhfNM8MjYMuc47AL21oa0NaAABgAdFjL3cWX2udQekNprdSPzUTucPXIyMDv64967nN+BU2tmp85PzZ0pYpdX3Z1XUte21U5xFGdu0P65+5aiepo7bTB80kdPC0YGdh7APyWcbqOSoY2g01bXSNjHCJHjDGD9d58iulJpJ1ROKu+Vb6ybn2YPqDw\/kMKUl\/tkiulJr+NYpPV8PnQ4TV901TK+mtjXUlANpKh4wX+H8h5ndaC1Wejs9P2VLHgn78jvvP9p+ilxRRwxtjijbGxow1rRgDyXtQcrqy0NNOjheOTvL5oERFAvCIiAy+1b\/pD6OFHTe7b4\/fWoWW0l++3G6Xb8M0vAz2c\/lwrUqyprbkZtlzg5822ERFWaQiIgCIiAIiIAiIgKnVE\/o+nKx4OC5nB\/EQPqsvRROvht9kiOKSkjEtSWkjicdyPaCSPerfXcxZZoYW\/elnG2OYAP1wp+mbQLTamNe3FRMA+bPQ9B5Db3q6LwwuedUi6u04eCSv62+pbtaGtDWgAAYAHRfVzlqIIBmaaOMd73AfNQJtR2aAevcYD\/wAjuP8A6cqpJvQ3SnCOrsWaLOS64tTDwwsqJ3dOCPHzK5\/0mu1TtRafn35PlJA+Q+alu5FL2qlwd+mZp0WXaNZVvN1LQg+wn\/uVRqChrqKCKOsvM1XUVJ4WU4JDPEnfvxjZSVO7tchPanGOJQdvHIl6mvcNdXMtLKsQ0jXfvUoGeR5Dvx8\/YpUWrbfSxRUFooair7NoaxrG4z9c9+y8aXslkq7aypMQqpmktlMgdwh3PAB2OxC1MMENOwRwRMiYOTWNDR8F2TiuzbQqpQrT\/uYkr\/XLlyMRd77qN5ZTPpm0Yq8sjjaAXuB2xucjnzwFY23QtHBh9fK6pf8A3G+qwfU\/BLJxXvUdXd5Wh0FOeyp84PmPLf8AxLVJKbjkshQoRqt1J9rlc5wwQ00QigiZFG3k1gwAuiIqT0UrBERAEREAVdqCr9CsVXMHAO7MtaT3nYfNWKzGspHVJoLRFnjqpgXYHIDb658lOCvJFG0TwUm1qWGlqT0TTtK085G9qf8AFuPhhW68sY2NjWMGGtAAHcF6UW7u5ZThggo8giIuEwiKPV19HQM46upjhGMjjdgn2DmUONpK7JCLNza1pHS9lbqOorpOnA3AP1+C5ek6uuP9TSwUEZ5Ok5j35PwU92+ORne1U9I3l0XxGpUOpu9upM9vXQMI5tLxn3c1RHSNZWEuud6nm4tyxnIHwycfBTabR9lpzk0xmcDnMryfhyXbQWrGOvLSNur9jnUa1s8JxE6aodyAjj6+eFwOp7rVD9wsM3DzEkxIbjn3AcvFaCnoqSkGKamhh\/5GBvyVJrG6uoraKSBzhUVWw4Tu1o5n6eZ7l2OFuyRXV3sIOc526L3uZR9ZctS32mjLoWTtJEfCPUbj1ieueXire92650FskrK+\/TPdkNZFHkBzj05jpk8u9RtBUpkus9SfuwxY83Hb4Aq0ruK\/auhoRn0W3+vL0Bdt9cDyJVsnaVlojBShio45XcpOyz+aHm0aMpJaGGe5iV1Q8cT2dpsB0G2\/LHVXEGmbLT44LfE7\/wCzL\/nlWqKhzk+J6kNmpQSSijnFTwQDEMMcY7mNA+S6IigaEraHKpqI6SmlqZncMcTS5x8AvzqsmnuU8td2Tn1FwcYqWLhzwxg4JHjtw+bir7UtW+6XFtlhfwQRDtayTbDWDBz5D4kLzpakbcrhPeJIGshjPZUkfCMMA+oGBnvJV8FgjiZ5e0SdeoqcdPl39PU0Vpt7LXbIaNmCWN9Zw\/E48z71B1XcDb7FKWOxJP8AZMxz35\/DKullrv8A611fQW4bxUo7aXB688H3N\/iUIZyuzXX7FLDDjki4sNu\/Zdngpju8Dik\/5jufy8lYoig3d3L4xUYqK4BERcJBERAEREAWWtzRd9Z1deRxQ0LeyicDtxcv\/L3hXd6rxbLRUVXEA9rMR56uOw+Kg6QovRLDFI4faVJMrjjc55fDHvVkcotmWp26sYcs3+C8REVZqPhIAyTgBUdfq630kvYU\/FWz5wGQ7jPdn8sqRerKbz2LHVs0ELSe0jj\/ALQfrwK72+zW+1txSUzWOIwXndx8yprCldmee+lK0clz9l7lH\/6pvjfwWqAnxEhHz+SlUujbbHIZqt0tbM45c+Zx3PXYc\/PK0CJjfDI4tmhe8+0\/H20OVPTU9LH2dPDHE3uY0BdURQNCSWSCIiHTxLKyGJ8sjg1jGlznHoBzKwc0j7pSXPUNQC1jWej0zHYOAdj06cXTvPcrzVdTLOKeyUmTPWuy\/HMMH+XuBULVrIbVpmktkQ5vAHjw7k+ZI96upq1vE87apYsXKK83p9j5pGRtu0zXXF45PcRtnPC0Y+JIVjo+jfFbJK6Z3FNXSGVxOM43xk+8+aqbpGaXS9qs8IDZa5zS4b5ycE583D3e7ZQxMp4I4YxhkbQ1o8AMJN5N8zuzQ7UV\/qvNnRERUnoBRrjWMt9vnq5CAImE79T0HmcBSVkNZ1rZqqmtjpezgb9tUuA3A6fXbqSFKEcTsUbRV3dNy4lLK+WG0tjZ69fepeN4ackR8Ww\/xOz7t1+gW6jZb7fBSRgARMA26nqfM5KxmlIJLrfZbnO3ENMPUBJww8mtHgBn4d6uKzU01VWChsFOKuUbvlP3Gjw\/P5q6om3hRh2WUYR3kuOS5\/GzSLMaWArLtdrm4ZL5ezYe5ueWfZw+5XF4ukNpt76iVwD8ERt6ucqzQ8YZp\/iAI7SZzj48h9FWlaDZrqNSrwjyuzRIiKs1BERAEREARFFr7nR22LtKyoZEOgJ3d7BzKJXOOSirsoNSySXW80VhhB4C4Sznpj\/LPmQtQ1oa0NaAABgAdF+bUOpJ6e9VVe2nE8tU7Azza3uAHsb16L9Ijc58bXObwOIBLe49ytqRcUkYtkqxqynNa\/jgekRFUbgiIgCIiAIiIAvEsrIYnyyODWMaXOcegHMr2s7qqokqDTWOldietcOM\/wB2Mcz8Pc0qUVd2K6tTdwcjxpqJ9yrqvUFQ0gzuMdO0\/hYP8gPI96rZ6So1VqOaWKQNpKJ7GAkkZGd8ePM+72q7vlbHp7T3ZU3qP4RDAOoOOfkMnPf7V305bTa7LDC5pbI8dpID0cenyCsxWvL7GPdKTVF8M31KstbcNesjbjsrfBnDdgDj83D3LUrL6R\/e6+7XI7iafhYfDJOPcWrUKNTW3Iu2XODnzbYREVZqPL3tjY57zhrQST3Bfk1zrJLlcKmu4XBsj\/bwj8IPkB7lvtY13odglY12H1BEQ36Hn8AR5rE3alNqpaagcT20jRUTjGMEjDW\/4Rn+IrTRVszx\/wCoycnhWizfV6FhbYJ66OGxUMgbC4CWtnZ1z+HPgMDxOei21NSUFkoXCJjIIWDie89fEnqo9htMdktTYnECRw7SZxP4sb79wVNX1Uuq6p1BRu7O2wO4p6k8nY7v14qDeN+BfTjuIJtXm9F+Pcz9\/uVRephVuy2EOc2niA\/CN3O+Wf5LaaQ\/9r0f+P8A63LPUlGy6y3OvDAKSjpn09K3O2zSB8CT7XLQaOcHaYpQPwl4P8ZUqjWCyKtkjLfucne6fqi7REWc9YIiIAuFXWU1DCZqqdkLB1ccZ9neqq86mgt8nolIz0qudsIm7hp\/4vy+Syz5RV1gmuL33WuP9XSQbsZ4Ej5DzKtjTbzZjrbXGDwxzfl88EXM+orjd3OjssHYU7fv1lQMNb9B8T4LN1kMFVWspKaokuNbM8NdUvJDM9zRzI8TttsFoBYK6vh9IvlUyio4hxClgw1rAPDkPiVCslVbbdJUXqoaImEllHTtOXcPLbfyJPirYtLumCqpza3nHny6cPrmX9n0zQWSP0mdzZZ2jJmk2az2d3tXCo1vQR1rKenikqGlwa6Ruw8gefwUaOiuuq3tnuBdRW7OWQN+88dD\/M+QXKkoIa7VYpqaIRUFqGCG\/if1yepJ556NULJtuTuaMc4qMaKwpvLmzZoiKg9MIiIAiIgCIiA51E8dNTyTyuDWRtLnEnCzWnj6RNWalr3BjX5ZEXbBjBzPwx5HvX3Vla+onp7HTPDX1HrTPJwGM8fDAJPgFDfxakfDaLYHxWmkwJZuXHjl+vMq6Mez19Dz6tW9Wyztoub\/AESLZHJqW+uu04xRUji2mYRs877\/ACJ8h0Wkr5vR7dUzf7uJ7ueOQJXSCCKmgZBCwMjjHC1o6BQdQvLNP1xBx9i4e\/ZQbxSRfGG6pybzerIWioRFpyN4GO1ke8+O+Por9VWmGBmnKIN5cGfeSVark85Mns6tSivBBeJZWQxPlkcGsY0uc49AOZXtZS+1017r\/wCj9tdgg5qZc+qAOY28efjgJGN2dq1VTjfjw6lS+ufqPV9Hlp9GbJmJpGMsbuT58JXuW3t1BV3qvfM2IQuDYpJThox392w+KsbPSQQa1qYIGcEVHTBjBnfPq5PxK9jRRMronXB\/oJl7XsA05PgTnnjr7dle5JPkeWqNSabaxZu\/2t7lRDeq7UhprTUVUdNGRiaXODL4e3w6\/BXd+mislohtFtZwz1X2cbW88HYnPec81YV2mrXXUcdKacQtiGI3RbFv5+ayVtobrXXKStt9VHVegO7KKSoP3huBgb9N\/NcTjLNZJEpRq0uzLNyyvxtxyNrbbZHb7RHQNwcMIe7H3nHmfeqjQzyLRPTv2khqHBzDzbsPrn3Lybhq+LZ9pppO4sd\/+lTQ3C82m+TPFvjimuDh9g92znZ5g578+9cUW01ctlWhCcGotJZaM\/QEWY49Z1GPsqSl8wfq5RLhbbjDTGpv2oXRxjI7ODPr+AGwyd+igoeJe9pdrqD+uXqaequlBQ\/7TWQxHGeFzxn3c1lLpqWvvEhorFDN2Z2dK1vrO8\/wj9bKHY9KG6y+lSiSGgz6geRxyD6e3\/Nb6CnhpYWwwRtjjaMBrRgBSeGD5sqi620xz7MfNmLtWiat+X3KoMDH\/eijdlzvaeXzWtobbRWuHgpIGRNx6zup9p5lfLldaO00\/bVcvCDs1o3c4+AWIvt7uF1pw6QGjo5P6qIfen8T3j4e0osdTXQ43Q2RdlXl5\/osNSXp94kbZ7NxVBcftHxnZ3\/DnljqTyU+y6Rgoi2ouDhVVIAwHbsZ7O9dtKWM2mg7WdpFVOAZAfwDfA\/P+SvlyU7dmOhOlQxve1dXw5HOd0raeR0DA+UMJY0nAc7Gwz7VT6Utk1vtjn1UZZU1EhfIHHfw\/PzV4irvlY1OmnNTfAIiLhYUFfqWW13N8NbbpW0m3BUM9YHx7uvft4qwob3bbi1ppquNznf2bncL\/cd1Oc0OaWuAIIwQeqpazSNnrCXejmBx\/FC7h+HL4Kd4vUzNVou8WmuTy8y7RZj+h0sYHo98rIsDvP0IT+i11\/8Ak9Z7nf8AmmGPMb2t\/wBfmjTFwaMuIA7yqS5attdvaQyUVUo5MhOR5u5KJ\/QqOcg190q6og53OPnlQ77bqKjdSWW2QsinrX+u85LgzOOeeXPbwUoxhe17lVWrXUG1FLzZDt1hrNT1ct1q5Oxp53nkcucBsAPAYxv3LcUdHT0FM2mpYxHGzkB8z3r1TU8dJTRU0LeGOJoa0eAXVRnNy6FtDZ40lf8A5PVhVuoWGTT9a0f7knyG6sl5exskbo3tDmuBDgeoUU7O5fOOKLjzKvS8jZNOUZac4Zwn2gkK2WSgjvunTLSUlCK2lLy6Ehxy0eP65groYNV3VxZPLDb6dxw7s\/vEdccznzCscbu98jJTrOMFDC7rLT8na+394k\/Zdn+2rpNi5m4jHXfv+Sn2KyQ2Wk4AeOokwZpP7x7h4L1Z7HSWWDgp28UjgO0ldzd+Q8FZKLkrWiW06cnLeVNeHgZjT32uqL3MOTXhh9uSP+1adZjTXqajvrAdjNk+3id+a06VO8c2X+P6v1ZUanrzb7DUSM+\/IOzb4E7Z92V707bv2ZZYIHM4JXDjlHXiPf7Nh5Ksv37\/AKotVsO7GEzPA8+v+E+9addeUUjkO3WlLll+WFUajswvFuLWbVMPrwu8e7z\/AC7lbqHdblFarfJVy5IaMNaB953QKMbp5F1VRcGp6FHQawp47W8XEltbTDhfHjeQ8tvHv7l4t9nqr7VC63wER84KXOwHiO759VVutoukUt4ul2ipJpDxRM2BDRyyBv3ct\/avdHrG6wiSnMUdwLNmysDgT48txt3BX4dcGp5arXaVfTh49UbpzmRRlz3NYxo3JOAAs5XaqfNUGhsVOayc7dqPuN\/P2nAWXmuk1zq\/9dy1fZDdsEDAAT3YJ29u5V3Rz3uSD0WzWVlugOxll593EScZPkSo7vDqWPa3Vyhkul37I8yUdHaT+0dR1fp1eQCynzxY8Md3wU2xWmorq79u3VmJXY9HhxtGOhx08PfzUm06Xgo5fTK5\/pla45Mj9wD4A\/M\/BXyjKfBF1HZ81KSsuXjzb4sIiKo3BERAEREAREQBERAeJZWQxPlkcGsY0uc49AOZWY0y2S7Xasv07SGuPZwNPQfyGB7crtqurkqOwsdGeKoq3faBp3awb7\/P2Aq8oaOK30MVJCMMibgeJ6nzO6s7seplf92tbhH1\/RIREVZqCIiAIiIAiIgMxTH9n68qIntw2ui4mO7zz+hC06zuq6GoIprtRxh81C7jcMblvP4Y+KtrXcoLtQsq4Mhrti082nqCrJZpSMtF4Jypvquj\/ZT2unnqdY3KuniexsIEUXE0gHpkd+wz5rSIijJ3LqdPAmubbCjV9BTXKldTVUYew78twe8dxUlFHQm0mrMoo9G2SM5NO+TfOHSH6K3p6WnpI+zpoI4Wf3Y2ho+C7IpOTerIQpU4d1JBERRLAiIgCIiAIiIAiIgCIiALlU1EdJTS1MzuGOJpc4+AXVZbVlRJXVVLYKV32lQ4OlPc3pn3E+QUoxu7FVapu4OXHh1PWlIZrhU1N\/qx685LIQTkNbnfHy8j3rTrlTU8dJTRU0LeGOJoa0eAXVJO7uKNPdwUXrx6hERRLQiIgCIiAIiID4QCMEZBWVrLbX6crJLjZmCWkkOZ6Xu9nh7OXiFq0UoysVVaSqLk1oyFarrTXejbUU7vB7DzYe4qasxdbVU2isdebM3xqKYcnjqQFdWq6013o21FO7wew82HuK7KPFaEKVV3wT73r4omoiKBoCIiAIiIAiIgCIiAIiIAiIgCIiA5VNRHSU0tTM7hjiaXOPgFm9J08ldVVV\/qm\/aVDi2IHo3rj3AeRTVlRJXVVLYKV32lQ4OlPc3pn3E+QWkpqeOkpoqaFvDHE0NaPAKzux6mT+Wt4R9f0dURFWawiIgCIiAIiIAiIgCIiAKsprFTUd3luFO58Rlbh8TfuE9+FZouptEZQjJptaBERcJBERAEREAREQBERAEREAREQBc5pWU8Ek0hwyNpc4+AGV0Wa1dWPkbT2WmJ7ateA\/HMMz9T8AVKKu7FVWpu4OR80vDJcKuqv9SDxTuMcAP4WA745+zyK0y40dMyio4qaMYZEwNC7JJ3dxRp7uCT149QiIoloREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHl72xsc95w1oJJ7gsvpyJ12vVXf5h6gcY6cHoMYyPLbzK08sTJonxSNDmPaWuaeoPMLxS0sFDTMpqaMRxRjDWg5x16qSlZMpnTc5xb0Wf14HZERRLgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:35",
    "ubicacionGPS": "LatLng(lat: -23.1006078, lng: -70.4525322)",
    "horaLlegada": "12:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:34:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:34:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:34:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:34:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:34:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:06 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:14 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:14 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:35:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

[09/06/2026 12:35:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:15 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            
[09/06/2026 12:35:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:35:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 12:35:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:35:34 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:35:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:35:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:05 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:38:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:38:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:38:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:38:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
[09/06/2026 12:43:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:43:06 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 12:43:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:43:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 2520AC
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 12:43:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:43:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:43:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:43:45 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:45] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:57 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

[09/06/2026 12:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:58 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 12:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:00 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:00 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

[09/06/2026 12:44:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:03 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:06 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:21 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:44:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:22 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:28 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:28 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 12:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

[09/06/2026 12:44:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 12:44:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 12:44:30 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 12:44:30] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 12:44:30] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:44:30 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 12:44:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 12:44:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:42 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:44:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:44:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12951
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3128
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:44:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                
[09/06/2026 12:44:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:44:57 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 12:44:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:44:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:05 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:45:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:45:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:45:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                
=========================================
FECHA: 09/06/2026 12:45:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dxwS7cSKiwaU5GhE4dGAWegtpqyXrsOFXq_T3rFHZ8KHb0XH83I
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3128",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12951",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADSARQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMCAgcGAgYJBAMAAAABAAIDBAURBiESMRNBUWFxkbEiMoGhwdEUFRYjQlLh8CQzNFNUcpOi0iZVo\/E1Y5L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIDBAkEAgMBAAAAAAAAAQIDERIhMQQTQVEiMmFxgZGhsfAjwdHhFFIzQmKS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREARFzmmip4zJPKyJg5ue4AD4lBodF5c5rGlz3BrRzJOAFnqvV0T5DTWimkr584Ba0hg7+0\/zuozdPXe9SCW+1hjiByKaEjb6D5qzB\/bIzPaE3aksT9PMm1+rqGB4goWur6lxw1kO4z49fwypNimvNQ2aa6wxwteQYY27Fo68\/LnuplBbKO2xdHR07Ih1kDd3ieZUpcbjayRKEKjlinLwWn7CIigXhV99qJqSyVU9O\/glYzLXYzhWCzmtZ3flcVDE0ulrJQ1rQeeDn14VKCvJFNeWClJ9haWOolqrLSTzEukfEC4kg5Pap640tOykpIaZnuxMDB8Bhdlx6lkE1FJ6hERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAF8JAGScAKru+oaKzt4ZXGWcj2YWbuPZnsCpxb71qY9LcJXW+iPu07fecO8ffyU1DK7yRnnXSeGCu+X5JVw1dC2b8HaYTXVR2aWbsB8Rz+HmuEOl6y5zCqv9Y6Q5yKeN3st7s9Xw81f0Fso7ZCIqSBsYxu7HtO8T1qWu40uqR3DnnWd+zh+zhSUdNQwiGlgZCwdTRjPj2ruiKs0pJKyCIiHQiIgCysL\/wA91oZmt4qW2tLWu6i\/\/wB5\/wDypuqbm+lohQ0rXPq6wcEYbzAJAJ+eB\/BS7FamWi1x04aOlI4pXY3c4\/bkrF0Y35mWf1aigtFm\/svuWSIirNQRfC4NGXEAdpUY3KgBwa6nBH\/2t+6WOOSWrJSKIy626R\/AyvpXO\/dEzSfVS0tYKSejCIiHQiIgCIiAIiIAiIgCIiAIiIAiKkvGpqW2v\/DQNNVWE4EMe+D3\/bmupNuyITqRprFJltU1MFHA6eolbFGwZLnHAWZmvtyv07qSwxmOEHElW8Yx4dnr4L1S6frrxO2t1DMS0HLKVpw0ePZ6960sMMVPE2GGNscbRhrWjACn0Y9rM\/1K3\/MfV\/gqbRpmktrhUSk1VYTkzyb4PcOrx5q6RFBtvNmiFONNWirBERcJhERAEREAUW418NsoZauc+zGNhndx6gF2mmjp4XzTPDI2DLnOOwCw1ddqW83RtVXS9HbKU\/q4cZdOfDv7eQGynCOJmbaK6pqy1fy5bact8tfVyaguLQ6SY5p2Hfo29v28+taCrrKahhM1VOyFg63HGfDtWbbc7\/eg0WmkFBSbBs8oG47gR6A+KkUujaXpXT3OoluEzuZeS0euT5qUkr3kymlKSjhpRv2vJd\/NnmfWMc0pgtFFPWyY94MPCO\/HP0Xjo9YV+S6WnoGH9kYJ+vqFo4KaCljEdPCyJg\/ZY0ALquYktEW7mcuvN+GX7Mx+hn4kh1zu1VVEHOM4A889ylfoZY\/8M\/8A1XfdXqLm8lzJLZaK\/wBfPP3KJ+jbG+PhbSvYf3myuz8yQquvsVVp2jdX2q4VBEJy6F5yOHrOORxnPJbFcK5wZQVDzybE48s9RXVOV8yNTZqVm0rPmsjxbK+O5W6Gsj5SNyR+6eseaKq0UHfo7GXEnMjsZOds4RRkrSaLaMnOnGT4ov0RFEtCIiAIiIAiIgCIiALjVVdPRQOnqZWxRt5ucVVXjU1LbX\/hoGmqrCcCGPfB7\/tzUKl07WXadtdqGUux7lKw4a3xx9PPqU1HK8jNOtd4Kau\/Rd5ykul21LM6ntDTSUIPC+qfsXduPsN+WSMq5tGn6G0NDomdJUEe1O\/dx7cdiso42RRtjjY1jGjDWtGAB3Bekc+C0OwoJPHN3l7dwREUDQEREAREQBEXGpqoKOB09TMyKNvNzjhDjaSuzsq+53ugtEZdVTDjxkRN3e74fdUdXqWtuYkjscXRwxj9bWTYa1o+PL17lRUVkffbo5sM8k0TDmorHj3j3A\/LPjtyV0afGRgq7W+rRV2\/nj7FjPWXLWjvwlJCKWjjdxSPe4nPZkgfJXdq0jbbbwySM\/FTj9uUbA9zeXnlWtFRU9vpWU1NGGRsGw7e896kKMp8I5Itp7Mr46mcvmgREVZrCIiAIiIAqfVVaKLT9SduKZvQtB6+LY\/LJ+CuFltRH811DbrO1pLGO6abbbHx7gfNTgryM+0ycabS1eS8S30\/SuorDRwOGHCPiIznBceL6orJFFu7uXQioxUVwCIi4SCIiAIiIAiKLX3GltlMairlEbOQ7XHsA60SucbUVdkh72RsL5HBjWjJc44AWWq71XX+pdbrG1zIOUtWQRgd3Z6lc2x3LV8rXzh9FamkEMHvS7\/P0HetRR0dPQUzaaljEcbOQHqe1WZQ11Ml51+rlH1f4RBs+nqKzt4o29LUH3p3j2j4ditURQbbd2aoQjBYYqyCIi4SCIiAIiIAi8veyNhfI4Ma0ZLnHACy9Xfa291Jt1ha5rQcSVZ2AHd2eqlGLZVUqxp66vRE686lioJBSUcf4uueeERM34T349PRVclneWG66qrSWs3bTNdsD2beg8166S16RiEUDfxt1lHCcbuJPb2DPVzPzVZXGb8XHUX5r6urcMwUEWzW\/wCbHLwG561dFcjzqtS\/XzfLgu\/m+wkgOvzOOYNtdhpzs3ZvSH6n+dypLL5I9v5bpW3ZjZt0xbho79\/V3kulLpysu72VN+k4I2Y6Kji9lrB2bcuzt71p4YIaaIRQRMijbyawYAXJSisiylRqSz0vx4\/pEC0U12g43XOsjn4gOFjG+6fH4fMqzRFS3c9CEVFWQREXCQREQBERAeXvbGxz3nDWgknsCzGk2OuFdX3yVpzM\/o4sjk3\/ANcI+CkaruEghjs9Jg1VcQzGd2sJxnwO48Mq3ttEy3W6CkZyibjPaeZ+as6se8yv6lZLhH3JSIirNQRFnaqxXp1XNNS36RjJHucI3A4YCc4G55KSSerK6k5RWUbmiRZj8v1fCMR3ankaOXE0ZPmz6p\/1nF\/g5seAz6LuDtRV\/IfGD8v2adFmPzDWEfv2ileOWWuG\/wDvUSfV13gmFJLamNqZBhjA4k5PI4+i7u29Dj2uEesmvBl\/er7SWWnD5jxyu9yJp3d9h3qpt1kqb1Ui634E53hpeTWjqyPp5qnoZ6+luT7jdLJW1lST7D3NcGsPcOHHh2K6\/TWNu8lqrGDt4VPC4q0TNvqdWWKq7LgrP1NM1oa0NaAABgAdS+Oc1jC97g1rRkknAAWbbry0uODDVt7yxv8AyVTqDVMF1bDRUsksNK8g1EhbuR2AZ8fHZQVKTeaL57ZRjG8XcuIL3XXq8CG1jgoID+unIGX+GQfgMeS0izdDqXTdBTMpaecxRMH907fvO25Ur9L7D\/j\/APwv\/wCKSi3ohSrQSvOom32+xdIqX9L7D\/j\/APwv\/wCK8u1jYm4xWF3hE\/6hRwS5F38ij\/deaLxc3zRRvax8rGuecNa5wBd4KjdraytziSV2OyM7+aoKrUEVw1LFWso56mCnYGxRDmXbnJG+N+zsCkqcnqimptlKKWFpm\/Uetrqe3UrqmqkEcbe3mT2DtKytfq68QQCb8pbSRu2aZySSe4bZ8lEpaSr1ZKya53KKJgJEcDSOIjrw3q8Tkrqp8ZaEZbYm8NNXl5e54rL3+fzgVtT+Ft4d7NPF7Ukp7MDr8cDsyplJFd7pTMp7VTi0W3Gzyfbk788zn+Sr236YtVuLXx0\/SSN5SSniP2+St111FpFEaey1H0qss3y\/PLsRn4rZbNKW6Wuc3pp2DeV\/vOJ6h2c+peNK21\/BJeazDqqtPGMj3Gknl47fDCjV5dqHVUdtG9FQnjm22c4dXzA81q2tDWhrQAAMADqXJNpZ6snShGU7xXRjku\/iz6iIqjaEREAREQBERAFzmmjp4XzTPDI2DLnOOwC6LLX+ea9XWKwUbj0YIfVuGNm5Hp6kKUY3ZVWqbuN1rw7z5puCS63ep1DUtw1xLKZp6hy+Q2+JWqXKmp46SmipoW8McTQ1o7guqSldnKNPdws9ePeERFEuCIiAIizt9vszagWm0jpa6XZzm8ov4+i7GLk7IrqVI043Z6v2oX0szbbbGdPcJCBgDIj8e\/05ldrDp9ts4qqqf+Irpt5JTvw55gfde7Hp+C0MMr3dNWSD9bM7ffmQP53VupuSStEpp05SlvKmvBcv2ERFWaij1VdDbbYGQgOqah3BEMZI7Tj5fELpY9P01rt7I5IWSTvAdK5zQ72sch3BVtuAv2q6qtmPFDbiI4GjIGcnDvkfMLVKyXRWEyUkqs3Vemi+7IhtVucMOoKUjsMLfsvP5Lav+2Uf+g37KaihdmjBDkQvyW1f9so\/9Bv2Xptptrfdt9KPCFv2UtEuxu4ciJLT0VJTvm\/CwNbE0vOGNGMbrJ2W6Q2SxVFymaJKisnPRxt24sfMDPEr3VtY2k0\/UN4wHzDo2DOCcnf5ZWIoLfNWUL6qaoNPFTM\/USyHDA7izw+p261fTjeN2edtVRwqpQWaT+eRciw3XUkouN1nbSQkZYzGS1vcOrxKi2uxQ3W7l9vzHQUkgBme7LpSDnbq38Ntlyq9SXC608FNWyfhaV+0ssUZzJj+eQWxstfZXwso7XPGQ0EhgBaT2nBAXZOUUVUoUa01n331b\/BbLlUzNpqWWd3uxMLzv1AZXVVmoyW6eriP7ohZ0rux605YYN8iv0XTu\/LJa+U8UtbK57ndoBI9eJaNVemmhmnaID+7zz7TlWi7N3kyGzxw0orsCKLUXKhpSRUVkERHMPkAPkqep1rbWP6KkZNWSHZojZgE9m+\/yRRk9EdnWpw60jRLxJLHCwvlkaxo5uccBY25agv4gEr4orXE73ePeR3gDv8AIeKh2uxXTUbm1Vwqpm02chzySXf5QfVTVPK7Zmltl5YKcW35G+iljmibLE8PY8Za5pyCF7XCjpIaCkjpadpbFGMNBOV3VTNqvbPUIii3GvhtlDLVznDYxkDrceoDxRK4bUVdkLUN6ZaKI9GQ6rl9mGPmSe3Hd81401aHW6jdPUb1lUeklJAy3P7Kg2Cgnuld+kVxADnj+jxY2Y3kD9vHK1Csl0VhRmpJ1Zb2WnD8+IREVZqCIiAIizuob++B4tdsBluE3s+xv0efr6c1KMXJ2RXUqRpxxSPt7vcxqBaLQOkrpNnPHKIff0U2yWSGzU5APSVEm8sx5uP2XmxWKGzU5JPS1Uu8sx5nuHd6q2XZNWtEqp05OW8qa8Fy\/YREUDSF5e7gY52M8IJwvS8uaHsLTyIwgM3oVg\/KaicuLny1ByT3AfcrTLL6OnZSCrs8pDaiGdxaD+2ORI7dwtQp1OszNsltzFBERQNJW3uquVHRiW20gqXh3ttO5A7hzPZsqqHXVB0TRVU9RFMB7bQwEZ68b5V7X3OjtsXSVlQyIdQJ3d4DmV+c3u5Vl6caswmKjjcWxjGGgnv63HmVfTipao87a60qTvCWfL5ocLtdpbxcTU1GRGDhkbT7jM8h396lwXKkrZ43XZ8jaOmw2Gkgb7PxPqeZ7lZ6FtcNQ6oraiFkgYQyPjbkA8yezs81s20tMw5bTxNPcwBTnUjF4UjLs+y1Ksd45amaOsrCynbTto5nQgYEYhbwgeBK4U+pbBT1BqaKzTMeRw8bImtx8AcLYNYxmeFobnsGF6VOKPL1PQ3NV5uS\/wDP7Mx+l9VJg01gq5Wn3TuMj4NKj19zv9xoJ6f8iMUb4yHF5OQMdXJa9ExJaI66FSStKb8kYewt1HX2qNtDWwU9NGSwcQy7bfsParAaSran\/wCQvtTM39xpOPmfouNLI3SV7lpJw4W+tcHRSnlGez54PgCr66XqitEHSVMo4nDLI27uf4fdTlKV+jxM1KnTwfVecdbtkCDRlkpxl8L5sdcsh+mAolTe6WknNv03QRTVTtnOijAaO\/I5+i5iG8arPFUE2+2E7Rt96Qd\/b6dy0VutdHaoBDSQhgx7Tubnd5PWuN26zuyyEMf+KOFc7Z+H5Ki26WJqPx96m\/GVZwQ1xyxvd3+i0QAAwBgBfUVcpOWprp0o01aIRFW3e+0VmiDqh+ZHDLIm7ud9h3riTbsiUpRgsUnZEqtrae30r6mpkDI2Dc9vcO9ZyjpKrVNa243BrorfEc09Pn3+8r7S2yv1FUR115b0dK08UNKDzHVkfXr7lqWtDWhrQAAMADqU+ppqZknXd5ZR5c+\/sDWhrQ1oAAGAB1L6iKs1hERAEREBnqq917LzVWlsUMUr4uKie8+8e88u3G3MYXfT2n2WmIzTkS1su8kpOcdwPr2rnqu1vrKAVdN7NVRnpGObzIG5A9R4KdZbmy7W2OoBAkA4ZW\/uvHMK1vo5GOMfrNTzazXzmvYsERFUbAiIgCIiAp71p2C7ObOyR1NVx+7Mzn8VXCo1fbWhstNBcI2jHEw+18sH5LUopqbtZ5meVCLlii2n2GYN+1DKS2DT7mEHH6xxx9F4NPq66ezNNDbYiBkRnc+RJ+YWqWe1Pd5IWstNCA+srPYwD7jTtnuJz6lSi7uyRVVp4IuVSbfpfyM3FYI7jqB1FT1D6hkJ4qmqcc8XLYd\/Vz7exe9YV0Ek0Vto2htPReyeFuwfy4fgAfjlXlVGzSWlXMhcPxEnsdKG7l5zv8By8FTU1oDr1Q2os43sAqa15O5PPB6wACB4uKtUrvE+BgqUnGO7is5Wv46L8ms05RfgLFSwkYeWcb987u3+uFZoizN3dz2oRUIqK4BERcJBfHODWlziAAMknqXKrq4KGmfU1MgjiYMklZYuuesJCGONHaQ7BP7UuDv4+g71KMb58CmrWUOileT4Hy\/XRl\/zabVR\/jXAgunPux94P1O3jlV8NC3TN1jfeqX8XCWDo5mZc2MjuPPHf8FtqC3UtsphT0kQjZzPa49pPWu8sUc0bo5Y2yMcMOa4ZB+CmqiWS0M0tllN7yT6XocqKvpLhD01JOyZnXwnceI5j4qQs\/VaOoZJDLRSzUMh64nbY8PmuDbTqmkdimvMc7N\/64ZPXjmD6rmGL0ZdvasevC\/cadR6uvpKCPpKqojhb1cbsE+A61QC0apqB\/SL4yMHc9E3ceQC60mjaRk5qLjUS3CU9cpIHx3JPmmGK1Zze1ZdWFu85P1RU3OR1LYqOSR3L8RIMNZ34+\/kpFo0yyml\/HXKT8ZXO3Ln7tZ4Z9fLCu4YYqeMRwRMiYOTWNAA+AXRccuEcjsaDbxVHd+i8AiIoGkIvLJGSt4o3teASMtOd16QBERAEREAWRq2SaSvIrYATbat2JmAf1Z7vmR8QtcuFZRwV9JJS1LOOOQYI+oUoys89CmtTxq8dVodWPbJG2Rjg5rgC0jrC9LJ0VZUaXr22y4vL6CQ\/wBHqHfs9x\/nbnyWrBBGQcgpKNjtKqqi5Nao+oiKJaEREAREQEG73OO022Wrk3LRhjf3ndQVXpi1y5kvNfk1lXkgObjgb\/Hb4YUSoxqnUop2nNBbjmTbaR2eXxx5ArWqx9GNuLMkPrVMb0WnfxZktYztNyttPIP1UZdPJnrA6vIHzUjR9JM+GovFUSZq55I\/yg\/U\/IBcNSO\/O7xS2Omc0hh6SoeCMtHZ8BvjvHYtTFEyGJkUbQ1jGhrWjqA5BSk7QSK6dPHtEp8F72+33PaIipN4RF8cCWkA4ONj2IDJzxy6svclOX8NsoH4eGn+tdvy9O4eK1UUUcMTYomBjGDDWtGAAs3od7BbqiB7Wx1LZyXswGuxgYJHUM5C06sqZPDyMuypOG8er+W8AiIqzUEREARRa25Uduj46ypZCDy4jufAcyszXa7aXPittMHkDaWZ3CPLr81OMJS0KKu0U6XWZryQBknACp6\/VVooAQaoTyAbMh9rPx5DzWLluFxvD+jlqKutzjMNO3hbjy9R8VZ0Gk7tIWOd0NtY3mWHilPxB+o8FZu4x6zMb2ypUyox+e3qfbjrusyY6SjFPkbOm9p2OogbAfNQ4KbUepX5klmFO7m954I8dwHNay26Wtltf0rYzPNnPSTEOIPcOSuUdSMeqjq2WrUzrT8EV1ktEdlt4pmSOkJPE9xPN3XgdQViiKltt3Z6EYqEVGOgREXCQREQBERAQ7nbKa7UbqapZlp3a4c2HtCztLXVmkp20N0c6egd\/UVDRnh7sfTq6lrlyqaaCsgdBURNljeMFrhkKcZWyehRUo4njg7S+anqKWOeJssL2yRvGWuacghe1kpKK6aVl6e3F9bbySX0xzlnr5+YV9arxR3enbLTyDjxl8RPtM8R9UcbZrQU62J4JK0vmhPREUC8Kk1Rd3W23iKmfisqCGRAcwOs\/TxKunODWlziAAMknqWUsgdf9R1F5kBNNTHo6YHlnt8t\/FwU4JavgZq8nZU46y+NlzYLU20WuODA6Vw4pXDrcerPdyXy\/wB4ZZ7e6QbzyZZC0DOXY5+AXS7Xmks9OZJ3cUhBLImn2n\/w71T2a01V0rRe7xnjO9PByDB1HH0+JXUr9KRGcsKVGlr7LmTdNWh9vpX1NVl1bVnjmLuY68fPfvV2iKDbbuzRTgqcVFBERcJhERAUFz010tUa+1TihrMHJaMNf445Z7cFRY79e7Y0x3e1Pmxs2aHHteONvTwWpRTU8rPMzuhZ4qbwv08jORa5tD9pG1EJBwQ+PPoSujtaWRoyJ5HdwiKu5IIZiDLEx5HLiaCqLUtjdVWwsttLC2TPtNZG1pcOfPbsXVgbK5\/yIRbTT8P2canXVvbGRSQzVEp91pbwjz\/gquav1fd8tgppqZh6o2dH\/udv5FSKC51FkYI\/0WkiGMOljBJI7zg581MOsJicR2OscRz2Ix8lZa3VRlc94vqVGuxJoqabQ1xqZDLXVUcRccu3Mjz49XzV5Q6LtNJh0zX1TxjeQ4bnwH1yuP6S3qoOKXT0wzydLkDPkPVfDLrKqHsw0tHk5BPCcDzd6I3N6uxKENmjnGDl4P75Gkgp4aaMRwRMiYBgNY3AXmorKakbxVNRFCO2R4b6rPGwX+rH9Nvzmb8oAQPlwrpBoi1RnindPUu6+N+AfLB+artHizVvKryhC3e\/xc61esbRTezHK+pfnHDE3PzOymWe5VNyZLJPb5KNjSOj6Q7vG\/Vjbl813o7XQUH9lpIojjHE1vtefNS1xuNskThGre85eCQREUC8IiIAiIgCIiAIiIAqC56UpqqcVdDKaGqach0Y9kntI7e8K\/RdUmtCupThUVpIyrb9eLNGIrxbnztaP7RDvtjr6ifLkp9Nq6y1EZearoSObZWkH+PwV2oNTabZPmSooqc49ouLAPMqd4vVFO7rQ6srrt\/Jn9TaoopbS+mt9SJZJzwPLQRws6+Y6+XxK4Wy71gtcNusFsleWjDqmQezxdZ7PM\/BfdP22lul+rLiKWJtFA4xwxho4XHGM45HbfxcFswABgDACnJxisKRnpQq1m6rlbhly8dCgtOl2084r7nKaytO+XHLWHu7VoERUuTepup0401aKCIi4WBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVHqy5PoLO6OHJnqj0TMDcZ5ny2+KvFlfbvmtTn+y2rlyI4\/vkf7VOCzu+Bn2iTUMMdZZfPAu7Jb\/yy0U9KQA9rcvx+8dyp6Iot3dy6MVGKiuAREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXNkMUTnvjiYx0hy8taAXHtPaiLq0ZCXWR0REXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28967\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28967\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:46",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:39",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:45:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3128', 1, 9291721, 0, NOW(), 
				'08:00', '12:39', '12:46', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023533.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200637
[09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1240', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1240'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1241', 3)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1241'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'EPS-I1241';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1242', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1242'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [09/06/2026 12:45:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200637', 'EPS-I1243', 1)
				
[09/06/2026 12:45:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28967 and
				    IDproducto = 'EPS-I1243'
				

09/06/2026 12:45:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
09/06/2026 12:45:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200637'                    
				WHERE idllamado = 12951			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 12:45:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12951			
				
09/06/2026 12:45:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:36 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:36 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:52 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:45:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

[09/06/2026 12:45:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12951
            GROUP BY l.idllamado;
            

09/06/2026 12:45:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:45:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:45:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:45:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12951
                

09/06/2026 12:46:02 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

[09/06/2026 12:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:23 - INPUT: {"rutTecnico":"95585912"}[09/06/2026 12:46:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 12:46:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 29/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => BROTHER 7240
            [FechaLlamado] => 29/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MFC-8910
            [FechaLlamado] => 29/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 29/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 26/05/2026
        )

)
[09/06/2026 12:46:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 12:46:58 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:58 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:59 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:46:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:46:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 12:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 12:47:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 12:47:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:03 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:47:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:07 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:07] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:11 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 12:47:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12669
            GROUP BY l.idllamado;
            

09/06/2026 12:47:17 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:17] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:20 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:20] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

09/06/2026 12:47:21 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:21] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:25 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:25] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:27 - INPUT: {"rutTecnico":"95585912"}
09/06/2026 12:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:27] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:47:30 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 12:47:30] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12941
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 94913830
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2816
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:54 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:47:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:56 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:56 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12882
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 18:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2536
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                
=========================================
FECHA: 09/06/2026 12:48:31
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+ghURKXaFp3+dThqo0JiS1lGcuG6.u+1mS8VWRdr.pmmLFwCSKB
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2536",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12882",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABpALMDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFBAMCB\/\/EADsQAAEDAwEFBAkBBgcAAAAAAAABAgMEBREhBhIxQVETMmGBFCIjcZGhscHRFQcWJDNi4UJSVmNykvH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EAC0RAAICAQMCAgkFAAAAAAAAAAABAgMREiExQVEEYRMiIzJxkaGxwRRCYoHR\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAABzz11LTTxQTTsZJMuGNVyIrlOgEJp8AAyLvtJQ2j2bnLNULwhj1XzXl9SUm3hFZzjBapPCNcm7jea+uuj7TY9xJI\/51Q7uxrrlOC+GvU520O0V\/Yr62q\/TqZ\/CFjfWVPFOPxXyN61WiltFOsVOiqr1y+Ry5c9eql8KPO7OfVZdtFOMe\/X+joo45oaOKOol7aVrER8mMby9QewMzqSwsAAAkAAAAAAAAAAAAAAAAAAAAAmNpV7W\/2SnZ3u233L4Zb+FKcmLj7Xb+2Rrq1kCu9y4f+EKcvLhI5qd52Pz+yRM3O7XG43GSz2eN8L43YmqXpjdTw6e\/ny6ndZtm6O0+1X29U7vTP1XPh0+prNjYxz3NY1rnrlyomFcuMa9dEQ+g5bYRMaVq1zeX08gACh0AAAAAAAHlUVMFJCs1TMyKNOLnrhCam2prLlKtNYKJ8q8FnkTRvlwTz+BaMW+DGy6Fez57dTer7tQ2zcSsqWRK9cNRdVXxx08Tqa5HsRzeDkymmCTXYyoqI\/SKq4q6ukcjnvxlETohWRsbFG2NvdYiInuQmSiuGRVO2TeuOF0PoAFDcAAAAAAAAAAAAmHe0\/aI3\/apuXuXj8SnJii9p+0OvXlHTIiKnuZ+VKcvPp8Dm8P+5\/yYAJ261d+oLys1NTLWUbmIjYWIui9VXHHOeuhWKya2WKtZaKIEx+8d8\/05N8Xfg7rTf3V9W6iq6KSjqmt3tx\/BU0\/v8Czg1uZx8RXJ4\/DNkAFDoBl3y+Q2amRcdrUyaRQourl6+47ayrhoKSSqqH7sUaZcpO2CimvFd+8NyTVdKaLGjUTgv1x46l4pcvg57rJZVcOX9F3FHs3VXORtbf6mSVe8ymR2Eb4Lj6IUsMENNEkUETIo28GsTCIegIlJsvXTCvjnv1AAKmoAAAAAAAAAAAAAPOol7Cmll09mxXa+CZAbwTmy\/wDE3q9Vq8HTbjF8Mry92CnJzYaLcsKyLlVlmc5VXyT7FGXs95nN4VexT77\/ADAAKHSCXtqrcNt6+pXuUjOybhM4Xhx\/7Grf7u2z2103GaT1IU\/qVNFXwQ8dl7XJbLWi1CL6TOu\/JninRF6\/3NFtFs5bHrtjBdN3+DZABmdRKXtz75tHT2RjnejQp2lTurjPPX5J73GncNorXZmpTq\/tJGIjWwQpvKnLC8kPm57NQXKrWoWpmhVyYd2a6u8+nh+T3tmz1utWHQQI6VERO1fq7+3ka5jhHEoXKcmsbvny+Blfq201eqLQ2ltNGufWqNF+ap4cj67HbJWp\/E0bVzngnw7pTArr7JGn6dv3pv54JZ9y2qtrVlq7fDVwpq7sV9Zvw\/BqWjaKgvKbsD1ZMiZWGTR3l1NUntp7NFLRvudN7CspUWVJI0wrsarnHPxJTjLZrBWUbKlqjLK7P8MoQcNmrX3G0U1W9MPkZ63vRcfY7ijWHg6YyUkpLqAAQWAPKpfLHSyyQRpJK1iqxi\/4lxoh42x9fJQsdcoo4qlc7zY1yidOa\/UnG2Sur1tJ1gAgsDK2mm7DZytflUzHu6f1Kifc1Sb24lVLNHTs1fPO1qJ1RMr9cFoLMkYeIlpqk\/I0Nm4PR9naJnWJH8f83rfc1DinraGz0cbamoZE1jEa1FXV2E5JzMR+11RWu7OzWqaoXTL5Ew1PJPyhOlyeSvpa6YqDe66FQYd02ppaGb0SljfW1a6JFFqiL0VU+iHClo2iu7kW6XBKSBU9aGnXVfBcafNTZtVioLOzFLFl696V65evny8icRjzuRrts2itK7vn5f6ZlustXXXD9WviNc\/HsafCKkacdfd\/6UgBWUmzauuNawgACpoAAAAAADA2ur1htyUEKb9TWr2bGJxVF4\/g6b1tDS2hm5\/OqnaMgYuq54Z6IcNjstVJXOvV4w6qkT2cSp\/KT7LjTHLXmaRWPWZy3T1+yhy+fJG1bKJtutsFI3C9kzCqiaKvFfnk6gDNvJ0xSikkAACQAAAAAARu2ta5l1tsLI+1WJ3a9nhfXXKYT5fMsj4dDE6Vsro2LIzO69WplueiloS0vJjfW7YaU8E7bdnHVkqXO\/J29U\/CpCvdYnJFTn7ijYxkbEZG1GNamEa1MIh9ASk3yTXVGtbAAFTUAAAAAAGBW7WU1NUyU0FJU1U0T1Y5GMwmU8TfPOPvyf8AL7ISsdTOxTaxF4Jxdp7rP6lJs\/PvrzkVd1Pkn1Pn0Lam7YSrq47dCvebCvrL8F8uJUgvrS4Rl6CUvfm39PsY9q2ZoLW5JkR09Rzlk1XyTkbABRtvdm0IRgsRWAACC4AAAAAAAAAAAAAAAAAAAAAAAB\/\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CARLOS HIDALGO PRIETO",
    "correoContacto": "administrativo.daem@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "TINTAS",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28906\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:46",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:48:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2536', 1, 9291721, 0, NOW(), 
				'12:46', '12:14', '12:49', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023711.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200638
[09/06/2026 12:48:31] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200638', 'EPS-I302', 2)
				
[09/06/2026 12:48:31] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28906 and
				    IDproducto = 'EPS-I302'
				

09/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:31 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
09/06/2026 12:48:31 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200638'                    
				WHERE idllamado = 12882			
				TO ENVIO: micorreo@miempresa.cl, administrativo.daem@munisg.cl


09/06/2026 12:48:31 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12882			
				
09/06/2026 12:48:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12882
            GROUP BY l.idllamado;
            

09/06/2026 12:48:35 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12882
                

09/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

[09/06/2026 12:48:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                
=========================================
FECHA: 09/06/2026 12:48:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.99Epse+_6TNCnj_wB3oIgt5BR_IRf_Oe-.7U25ZEUJ596+MSOU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "94913830",
    "serieinterna": "EP2816",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza la entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12941",
    "observacion": "se realiza la entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC1AOsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA8EAABAwMCAgcGBQMEAgMAAAABAAIDBAURBiESMRNBUWFxgaEUIjKRscEVI0LR4RYz8AckQ1IlwmLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExEyJBUWHRBDJxkRSBobHB8CMz4UL\/2gAMAwEAAhEDEQA\/AP2ZERAEREARFTX\/AFBHaI2wwtE9bLtHEN\/M4+nWpSbdkUnONOOKWhKut5orPDx1UnvkZZG3dzvAfdUjH6ovRM0LmWymcAWBw94j5Z+ikWfT0j5\/xS9ET1ryHNYTkRfz6DqWiV7qOmZzqNStnN2XJa\/PsZb8SvdhnjbdhHU0Ln8PtDObc8if57Oa0sM0VRCyaF4fG8Za5p2ISogiqqeSCZofHI0tcD1hZzTj5bVdanT87uJjAZad52LmnmO\/nnyKZSV+JKxUZqLd4v6M06IizOoIiIAiIgCIiAIiIAiIgCIiAIi4VdZTUMJmqp2QsHW44z4dqENpK7O6Kut9+t10mfFSTl7mDJy0t2zjrVipaa1IjKMleLuERFBYIiIAiLhWVcNBSSVVQ\/hijGXFCG0ldkO+3mKyUHTvHHI88MUefiP7BQNPWKSKZ12un5ldOeIBw\/tZ+\/05KNZ6SXUF0dfK+M+zsOKSJx2GDzx\/m\/gtWtG8Kwo5aa20tpLRaL89giIszrCy2rWihuFsvDduilEchGclvMD5cXzWpWe1uAdPEnqlaR6q9PzI5vFL+GT5Z+xoUXGlcX0cLnc3RtJ2x1LsqHQndXCIiEhRK+50dti6SrqGRDqBO7vAcyqu86jNNP8Ah1tj9pr3YAAGQwnt71yt2leKf269y+21Tt+B27G93f8ARXUUleRzSrOUsFJXfPgjx\/V81U7\/AMZZqqpZv+YRgZ8gfqvo1g+mkY26WmppGuIHGQSPUD0\/haRjGRsDI2hjWjAa0YAXyWKOaN0csbZGOGHNcMg+SnFHkNnW1x5+isc6Ssp6+nbUUsolidycP82XdZCtgl0jcW19HxOt1Q\/hmh3ww9o+3yWtjkZLG2SN3Ex4DmntBVZRtmtC1Ko5XjJWkv256REVTcIvhIAyTgBZK4XCs1PUvtloyyjacT1J5OH7d3X4K0Y3MatVU1zb0XMlXDUs1RVG3WKH2moOxm2LGdv\/AOnbxVVdrRBa6P2q6zvuNyqPdiYXO4eL6kDP0GFrLXa6W00gp6VmBzc483ntKoqRn45rGoqZAHU9twyMdXGDz+YJ+S1jJLTRHJVpykljzk9FwXcmaYsLbVTe0zN\/3k7cv2xwA78IH1V8iLGTcndnbTpxpxUYhERQaBERAFkJnv1feTSxvcLVSnL3t26V3+em6sNVXCaOCK10ZPtdc4MaRkcLc7nPp4ZVjaLZFabbFSRgZAzI4fqd1laLdV+JyVP5p7P\/AJWvbuTI42RRtjjaGsYA1rQNgByC9IizOsIiIAs3rmQizRQNGXzTtaB18ifrj5rSLL3nNy1dbqBvvR0350o6s88Ht2A+avT81zm8V\/U4rjl7mlhjEMLIgchjQ3Pbhe0RUOkLPXu9zGoFotA6Suk2c8coh+\/0S+3yZtS20WodJXS7OcOUQP3x8lNslkhs1OQD0lRJvLMebj+y0SUVdnLOcqsnThpxf4XX7CyWOCz05x+bUybyzHm49ngrREVG23dnRCEYRwxWQREUFiJdKQV1rqaUjPSRkDx6vXCq9GVZqtPxsc7LoHmM57OY9DjyV+szpFvQ1l3pRgNiqcAA563D7LRZwZzTyrwfO6\/JpkRcqnjNLL0Xx8B4fHGyzOhmYutZUaiuv4JbpeGmZvUzt3B7vt3nwWkoqGnt1K2mpYxHG3s5k9p7SqDRc9IyhkpTJw1vSudK15w93Ye\/b\/N1o554aaIyzysijbzc84AWk8nhRy+HSktrJ5v6dDxW1DaSimqXODREwuy7lsFS6LpnRWU1EgPHUymQuPWOX2KhVVVLrCrFDRcUduidxTTkEcZ6sD6DzK1cMUcELIYmBkbAGtaOQCPdjbiTB7WrjWi06s9oiLM6giIgC8SyshifLI4NYxpc5x6gOZXtZrV9ZI+OCzUpzUVjhkf\/ABz9z6Aq0VidjKrU2cHI46ajfeLvVX+obhuTHTtI+EfwNvMrVqPQUUduoYaSH4Im8Oe09Z8zkqQkndkUKbpws9dX6hEXCsrKegpn1FTKI42Dcn6DtKqatpK7O6pv6nopLtHbqVr6mR7uFz4\/hb2nPWqh89y1fK6Kl4qS1B2HyHZ0n7+HLtWkt1qo7VB0VJCGD9Tju53iVo4qOupzKpOq\/wCPKPPn6dyYqu22SO33GsrenfNJVOzl43aOZG3Pf6BWiKibR0OEZNN8Aq6+3L8KtE9UN5AOGMY\/Udh+\/krFZfUgbX6itNrcOJnF0r245tz+zSrQV3mZV5uFN4dXkvmS9L2g0NIayoJfWVfvyOcQSAd8Z88n+FeoirJtu7NKdNU4qKCIiguERQ667UFtaTV1UcZAzwZy4+A5qUr6ESkoq7ZMWY0eOkqLtVH\/AJqnmPFx+65VOsKiphlNptsr2sYXOnlGGsA5nA29fJV2n9NVVztbZJbhJDRSuLhDGT7xBwSRy6u9aqFovFkefOup1Y7NYrX6dDWVl\/tVDnp66IOH6Wnid8gqqTWkczujtluqax\/hgemVOo9K2eiwW0gleP1THi9OXorZjGRsDI2hjWjAa0YAVbwXC50Ya8tWo+mf3MRLZ77eLky4NooLZIDkScRDj2E4zk+Q71DrKC40db02oKeqr6Zu\/FHMeDx5bDbuX6Kisqr5GMvAxeeJ3\/eGhRWrUVgdA2Gmmjo2t5RyAR46+fL1V2x7JGB7HBzTyLTkFQayxWuvBFRRxknm5o4T8wql2jG07y+2XOqo3HqzkemFXcfGxqnXhlhTXTI0yLLiPV1t3EkFxibk8OwcR6fddqTWFP0vs9yppaGYAZ42kjO+TyyBsowPhmSvEwvaacfXvoaJF5jkZKwSRva9juTmnIK9Kh0hZey4uuq6+5uAMdN+TCeHHdn5A8\/+yu7zV+w2erqQcOZEeE5\/Udh6kKDpGkNLp6EubwvnJlIxjny9AFosotnNU360Ycs+xdouNTVQUcJmqJWxxjrd9O9ZmS8XXUUzqeysdS0o2fVP2J8D1eW\/gqxi2XqVo08tXyLO86kpbYTTxA1Nadmwx74Pf2eHNV1Lp6tu87a7UExIG7KVuwHj2fVWtn09RWdvFG3pag\/FO8e8fDsVqrYlHKJmqUqjvV9uHz5nljGRsDI2hjWjAa0YAXpEWZ1BERAFl6T\/AHmv6uXHuUkHAD37D7uWnJAGScALMaKb08dwuTvjqag8x2b\/APt6LSOSbOatvVIR639jUIip7rqagtbzDxGep5CGLc57Cer6qiTeSNpzjBXk7FwqS46rtlA4xRyGqnzgRw779meX3Vd+HXzUmH3KX2CjJyKdg94jv\/n5K9ttloLUzFJAGuxgyO3cfNXtGOuZhjq1PIrLm+3co2s1PfS4ySfhVK7bhDffP39Qp1BpC2UbhJM01cuMEzYI+X75V6ihzeiyLR8NC95bz6\/tin1K9lJpmrDGhjeAMa1oAAyQNvmu+n6f2awUUWAD0Qccdrt\/uqnWkjp4qK1xH8yrnGw3OBt9T6LSxsbFG2NvwsAaPAKXlBFYb1eT5JL8npERZnUEREAREQBR62gpLjD0NXAyZnVxDceB5jyUhE0IaTVmZCakrtIy+10kr6m2l35kDj\/bBPMfv81qqapiq6aOohcHRyN4mkFQ9QVMNLYquSbBa6IsAPW4jAHzKh6doZo7BSAzOjy0nhHLck9R81o96N2csFsqrpx0te3Ii6ykfUewWmL4quYF2ByA2++fJaCVwo6JxhhdIIWe5EzcnA2AWeOK7\/ULBw5tFT5x1A4\/+\/8AmFqElkkiaO9Oc+tvb\/TJ0louGoKltffCY6YHMVICR8+z6nuWpihjgibFCxscbBhrWjAAXtFWUmzWlSjT6t6sIiKpqEREAREQEC91HstkrJhzbE4DxIwPUqJpOD2bTdNxbF4dIT4k49MKHrWpLqKntkRzNWSgcO\/IHu7yFoqeFtNTRQM+GJgY3wAwtHlD1OVb3iG+St7mGvesKmscaWga+miOQ55+N3h2eSWqmuLWg2i0dHJn3qyswXeIBxgeGVuo4Yos9HGxnEcnhaBkr2rbRJWSMvhJyninO\/7wMuzStfVky3W8yyPP6IvhG+evq7sDqXx1hvdrHTWq6yVHCD+ROdj4ZOPotSirtJG3wtPhe\/O7uU1kvwuJdSVTBT18WekhxjPhlXKoNTWZ1VB+IUQ4K6nw5rm83Ab48ez5LvQX+Kr0\/JcjjjgjJlZn9QGcef3RxTV0IVHBunU4Z35ruVsTjddePeDmG3Rlo979XI+pPyWqWc0XSvjtclbNky1kheSQBkDl65PmtGoqa25DwyeDG9ZZ\/vyCIiodIREQBERAFzmmip4XzTPDI2DLnOOwCrrxqKitDSx7ulqP0wMPvefYqhltuup5WVF2LqOhByylbs53ef3PkBnKuocXoc866TwQV5fup5YJ9X3SOcsMdppX+6Hj+8evb\/MeK1rWhrQ1oAAGAB1LxDDFTwshhYGRsGGtaNgF0USlfTQtSpYLtu7epmLJvrG8E7kADPmFp1mKI9D\/AKg17DympwW\/Jv7FadTPVFPDeVrq\/uERFQ6QiIgCIiALnNNFTwvmmeGRsGXOcdgFyrrhSW2AzVc7YmdWebu4DrWaLa7V9SA8SUlqjO4\/VMc\/54K8Y3zehhVrYd2OcuXc9WWN191FPfJWn2eD8umDhz6gfqfErWLnTwRUtPHBC0MjjaGtA6guiiUrsmjT2cbPV5v1CIiqbBERAF+f6op57LVVEdKeCjuLQS0Zw0ggkDs\/Y4X6Asnr8PNtpcD3RKc\/LZa0nvWOLx0b0XLijR2+lFFbqelH\/FG1p7yBv6qSq6wVr6+yUtRISZCzheT1kbZ8+fmrFZu98zqptOCcdAiLlUVVPSx9JUTRxN7XuAUFm0s2dUWdqdZUXH0Nugnr5yPdEbCAfv8AIKN7Jqe+Bpqp2W2ndzZFkPI7xnPzPkr4HxyOd+Ji8oLE+nfQurjfrba39HU1IEuP7bd3fx54VKbve9QM6O1UZo4HHBqpHb47v4yrS3aYtducJGwdNMN+lmPEc+HIK3U3itFcjBVqed2XJd+xTWnTNFbHCeTNTV5y6aTfftA6vHmrlEVG282bwpxgrRVgiIoLmXu59i1ra6s7MmYYiT27j\/2C1CpNV2+attXS0wzUUrxKzA97A5gfXyUuy3SO7W6Odrm9IBwytB+F3WtJZxTOWnuVZQfHNfksEReXvZGwvkcGNaMlzjgBZnUekVHW6vtFGeBkxqZM44YBxevL1UFt21Hefdt9AyhhcNppsk+IJH2KuoS1Zzy8TTTss30zNJU1dPRxdLUzxws7XuAys\/UamnuLn0unqd1RKAOKd7cNaPP74819ptHxyvbPd6yeumHMF54fDt+i0MEENNEIoImRRt5NYMAKd2PUratU13V9eyKCi0t0sorL5Oa6pP6CfcZ3d\/oFoWtaxgYxoa1owABgAL0iq5N6m1OlCmt1BERVNAiIgCLnPUQ00ZknlZEwDJc92AqOt1na6YllOZKuTfAibtnxP2yrKLehnOrCn5nY0Ch3S2U92ozTVLctzxNOT7ru31VH+MaluBLaGzilYRs+o5jv3x9Cvn9O3yv3uV7LGnnHADjw6h196so2zbsYSrKorRg2vZfUtY6i06foo6V9VFE1g+Euy49pwN+arqjWdO6QQ2yjnrZHHDcNLWnw6\/RSKTR1npiHSRPqX5yXTOz6DAVzDBDTsDIImRMHJrGho9EvD1JUa7Vsorpn\/hm2jVt1HvOhtkTueB75HqR6L3BoqmdJ01yrKiuk5nicQD9\/VaVFG0fDIleGg853l69tCPSUNLQxiOlp44WgY91uM+J61IRFQ6EklZBERCQiIgCIiALP12k4Zat1bbqqWgqHczF8JPXtsd\/HHctAilSa0M6lOFRWkjMmxaiIwb+cHrAPmjNGMnlEt0uVTWu22JwPDck48MLTIrbSRl8LS45+rZAorLbbdg01JGxw\/WRxO+Z3U9EVW29TeMYxVoqwREUFgiiVlzobe3iq6qOLuJ3+XNUkms453mK1W+orZB2NwMdu2SrKEnoYzr04ZSeZplHq7hR0DOOrqY4RjI43YJ8BzKz5ptV3X+\/URWyIj4Yt3d24JPqF2ptF22OTpap81ZIfiMjsAnt239VbDFasz2tSXkh75fTU81GtKQyGC3009bNuGhjcA\/f0XJx1bdQeFsNsiPb8ZHqfotHT0tPSR9HTQRws\/wCsbQ0ei7JiS0Q2NSXnn7Zf6ZqDRVM6TprlWVFdJzPE4gH7+qvKS3UVA3hpaaOEdZa3c+akoquUnqzWFGnT8qCIiqahERAEREAREQBERAEREAREQBERAEREARR62tprfTOqKqURxt6z1nsHaVmnVV31U9zKAmhtucGYjD3+voPMq0Yt58DGpWUHhWb5FndNU262Exh\/tE\/Loot8HvPIfVVw\/qm+MyCy107jkcxIR9fore1aet1oAMEXHLjeWTd38eStFbFFeVGeyqVP7HZcl3KCj0dbYHmWq6StlJyXTO2z4Dn55V3DDFTxiOCJkTByaxoAHkF0RVcm9TaFKFPyqwREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqy83ylssLXS5klf\/AG4m\/E79gvl7vkFnpxn82pk2ihHNx7fBQrJZah9QbteDx1jzlkR3bF2HHUforqKteRz1KknLZ09fsRaCyVV9qG3S\/cQbzhpNwAO8dQ7uZ61qWMZGwMjaGNaMBrRgBekUSk2XpUo01lrxfMIiKpqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAVFHpyjpblNcZHPqKiR5c10pz0fcP37hyVuiKW29SkIRgrRQREUFwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "DSPRINT CENTRO COPIADO ",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "jefasucursal@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990956084",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DEU-I857\",\"id_control\":\"28962\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"XER-I333\",\"id_control\":\"28962\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"DIA-I343\",\"id_control\":\"28962\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"DIA-I696\",\"id_control\":\"28962\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"BES-I1218\",\"id_control\":\"28962\",\"cantidad_usada\":10,\"cantidad_asignada\":10},{\"id_inventario\":\"GEN-I1132\",\"id_control\":\"28962\",\"cantidad_usada\":10,\"cantidad_asignada\":10},{\"id_inventario\":\"DIA-I960\",\"id_control\":\"28963\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I1292\",\"id_control\":\"28964\",\"cantidad_usada\":20,\"cantidad_asignada\":20}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: -23.6618634, lng: -70.4000991)",
    "horaLlegada": "12:44",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:48:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:94913830

[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('94913830', 'EP2816', 1, 95585912, 0, NOW(), 
				'08:00', '12:44', '12:49', 10, 'se realiza la entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023724.png', 'se realiza la entrega de insumos', null, 'COMPLETADO','LatLng(lat: -23.6618634, lng: -70.4000991)' )
				
[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200639
[09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DEU-I857', 1)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DEU-I857'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DEU-I857';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'XER-I333', 4)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'XER-I333'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'XER-I333';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I343', 3)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DIA-I343'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'DIA-I343';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I696', 2)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'DIA-I696'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'DIA-I696';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'BES-I1218', 10)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 10
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'BES-I1218'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 10)
                WHERE ID = 'BES-I1218';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'GEN-I1132', 10)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 10
				WHERE
				    IDcontrol = 28962 and
				    IDproducto = 'GEN-I1132'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 10)
                WHERE ID = 'GEN-I1132';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'DIA-I960', 2)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28963 and
				    IDproducto = 'DIA-I960'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'DIA-I960';
                [09/06/2026 12:48:44] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200639', 'GEN-I1292', 20)
				
[09/06/2026 12:48:44] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 20
				WHERE
				    IDcontrol = 28964 and
				    IDproducto = 'GEN-I1292'
				

09/06/2026 12:48:44 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 20)
                WHERE ID = 'GEN-I1292';
                
09/06/2026 12:48:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200639'                    
				WHERE idllamado = 12941			
				TO ENVIO: jefasucursal@gmail.com, jefasucursal@gmail.com


09/06/2026 12:48:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12941			
				
09/06/2026 12:48:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:48:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:48:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12950
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 4525AC
            [SerieInternaMaquina] => TO3146
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 12:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:48:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                
=========================================
FECHA: 09/06/2026 12:49:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-3mhJVPpEUJGVcN2dul31Rrfh4RbD5okfI-bnhJ0ot3Y7Rnvm7F0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "TO3146",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12950",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADiAPYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgIDAQf\/xABFEAABAwMCAgYHBAgDCAMAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEkQtHwBxUjM1KSwuFTcoIWJTRDYnOy8ZOi0v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQDBgcBAQEAAAAAAAABAgMREiExQQQiURMyYXGB0SORobHB4fBCMyT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBfCQBknAC8ausp6CmfUVMojjYNyfkO0rLvqLnq6V0NLxUlqDgHyOGHSD6+HvUoxvnsU1ayhyrNvYuqbUFHWXd1up+KUtaSZWjLMjqz9VaqHbbXSWmm6Ckj4W5y5xOS49pKmLjtfIlTx4efUIiLhYFmorncLNeDS3iVstLUuJhqMcIb3Y92y0qpdW0bavT1QSAXwgSsPZjn8MqcLXs9yiupYccXms\/MukUGzVbq6z0tS85e+McR7XDY\/EFTlFqzsWxkpJNbhERcJBERAEREAREQBERAEREAREQBERAEREAREQBR62tp7fSvqamQMjYNz29w70ra2nt9K+pqZAyNg3Pb3DvWZoqKq1VWtudzaY6CM\/sKfPtd5+p6\/BTjG+b0KKtVxeCGcn\/XYpqOr1ZWtr7g10NtjOYYM\/vO8\/U+5auKKOGJsUTAxjBhrWjAAXTWhrQ1oAAGAB1L6uSlc7SpKnnq3qwiIolwREQBRLqA60VjTuDTvB\/lKlqvv0wgsNc8\/4DmjfG5GB812OqIVHaDfgQtGnOmqfngOfzP\/AFFXqp9Jx9HpqjBGCQ53vcSrhdn3mQ4dWox8kERcuc1jS57g1o5knACiXHSKM25UDnBra2nJJwAJW7\/FSAQRkHIKWOJp6H1ERDoREQBERAEREAREQBERAEREAXnUVEVLA+eeQRxsGXOdyC7c4NaXOIAAySepZKV8mrry+ljkc200xy5zBjpXdmffjuGVKMb+RTVq4Eks29Dmkin1fdPTKppZa6d2Io8\/vD3\/AF9y17WhrQ1oAAGAB1LiGGOnhZDCwMjYMNa0bAL0SUr+Qo0sCu829WERFEuCIiAIiIAs9rafo7CYG7vqJWsDRuTg8X0C0Ky94Lbpq2320HLKXM0ozt1EA+4fzKdPvXM3FP4TitXl8zQ0VOKWhgpwMdFG1mPAYXuuZJGRRukke1jGjLnOOAB3lZSrudfqSqdQ2Zxio2HE1VgjPaB+HM+C4ouROpUjSSWr2RPu2pmUtQKK3Q+m1jjjhZu1njhRW6auN1xJfbjIW5yKeIgAeJxj4eatrRYqKzRFtOzMjhh8rt3O\/AdyslLEl3StUZVM6z9Nv2UJ0XZCMCnkHeJXKBTRzaWvlNRNlfLb6zLWmQgcLs9vdt45K1qzGsPVqbRIeTanf3j8F2MnJ2ZCvShTj2kFZq2nmadERVG0IiIAiIgCIiAIiIAiIgCIqnUN4FooMxkGqm9WBhBOT1nyz8l1Jt2RCc1CLlLRFfqK5TVlVHYba8GWc8NQ4DPRt6x7s5\/uru2W+G10EdHBktYN3Hm4nmSoGm7O63U76qpcX1lXh8xcN2k74+O6ulKTXdRTRhJvtZ6v6L+1CIigaQiIgCIiAL45wa0ucQABkk9SiXK6Ulppunq5OFucNaBkuPYAs5HTXPV0jZqzio7WDxMjafWk7PHx9ynGN83oUVKyi8MVeXT36Ey6a0oKIujpAayUcyw4YP8AV1+XvUXTZ9Gp63UN0xH6Sctkcd+HJyAO848cBRLrT0MlcyxUIZS0tOOlrJ8cgB1nr548SF7xwS6sqWMja+mstLhrGjbpMbfL3eKttFRMHaVJVbvNrRLS+\/ojpvp2spg5wfSWljuX3pSPz4DvK1FJR09BTMp6aIRxsGwHzPaV6RRRwxNiiYGMYMNa0YAC7VMpXyWhvpUcHNLOT3\/tgiIol4WY1d+0rrNTf4tTz82j6rTrMX39rrCzRZ9nL8eefop0+8ZuK\/526tfc06IigaQiIgCIiAIiIAiIgCIiA5kkZFG6SR3CxgLnHsAWWtLHajv8t3qIz6JSnhpQcgEg7O8uZ7yOxe2qKuerqILBRbyVODM4DPAzP9iT3eKvaGjit9DFSQjDIm4Hees+Z3Vi5Y33ZkfxquH\/ADH6v9EhFXV94ioLhRUbo3vfVv4QWjZo5Z+KsVCzRpUk20tgiIuEgiIgCr73dorNbn1L8Ok5Rxk443fndTZZY4IXzSvDI2Auc48gFlbTDJqe7m9VbAKSnPBTwnfJHWffnx8FOK3ehnrVGrQh3n9PE9rVYH18zLxeJHTyyDjjgdu1gPLI+is75eqex0XSOw6VwxFFn2j+AXpdrzSWan6Wpfl5HqRt9p\/h+KwVTHcdQ32OOZ37abcM5iBnPB7MDf8AuVZGLm7y0MtWpHh44Kecn\/ZnVitlTf6x4e54gc\/pKqXPtnOccue5+fYv0eCCKmgZBCwMjjHC1o6gvC2W6C1UMdJAPVYN3Hm49ZKlqFSeJ+BfwvDqjHPV6hERVmsIiIAsw77T+kRv3vRabq+7kHn\/AD\/FadZjT\/2rVN6rDvwOEIJ7M4\/oHwU4aNmavnKEfH7ZmnREUDSEREAREQBERAEREAUW418NtoZauY+rGMgZwXHqAUpZS9l9+1FBZoi40tOQ+qc3lnnj3bDvJ7FKKu8ymvUcIZavJeZI0pb5SyW81ozVVp4hkAcLTvt47e4LRr41oa0NaAABgAdS+pJ4nclSpqnBRRmJPtf6Q4gNxR02SB1ZB5\/zj4LTrL6eIrNT3muG4a4RNcesZx\/QPgtQuz1SKuGzjKXVv2CIigaQiKPXV9NbqZ1RVSiNjR18z3AdZTU42krsoNU1M9dVU9hoi4STkOncM+qzv7uZPgO1e1ffKWyRQ2u2xelVTQI2Qs34cfxY6+5ZuztvF0q6yWiZ0bqtxEtW7\/ltJyWg+7l2DktZQWi36bopao+u9jC6Wd49YjsHZ4davklGyZ5lKdSq5VI5X3ey8DPVsElqjFyujxV3epOIIuYi7HcPXg+W\/WtFpyyCz0ZMxD6uY8Ur+fln87qtsFPNe7rJqCsaRG0ltIw4wG5I+HzytUozk+6W8NSTfabbe\/qERFUbwiIgCIiA5c5rGF7jhrRknsCzeh2ufbqqqcMGeoJA6sYH1J9yt77P6NY62UHBELgD2EjA+JUXScIg03SDbLwXkjryT9MKaygzNLPiIrom\/wAFyiIoGkIiIAiIgCIiAIiICuv1zFptM1TkdJjgiB63nl7ufkoelLWaK2CpnaPSqs9JI4jcA8h9fEqBWu\/2g1dFQgcdHb8ul7C7r+OB5FaxWPljbqZIfFqueyyX5f4C5keI43PPJoJXSj1zg2gqC4gDonbnwVaNTdlczujZYKW0S1NRMGuqKkgOftxHA\/utUvy2y18MNfSPrpnsp6PikY1gJLnHfHmcd2AtSdUXK5Hgstpe4E46WceqNu7Ye9X1KbxXPN4XioKmovb1ZqCQBknACq7hqW1W7IlqRJIDgxxes4fgqtunbvdAHXq6yBjh60EGAPw+BVrQ6ctNvwYaNjnjH7ST13Z7d+XlhQtFau5px1p92NvP2RUt1Be7uQ20WzoonZAqJ9xjt7PmqW+2WsjkpBWVxq7hVv4QzOzB\/wCyOzrX6IstH\/vLX8jj60dBDhueXFj8XH3KcJ55Iz8RQvFKcm23b+Ro6SmZR0kVNGAGRMDRgdgWavr5r\/eo7FTuLaeEh9TK0ZwcHb5eZ7ldX65i02mapyOkxwRA9bzy93PyUTSlsNFa\/SJm\/aas9LISNwDyH18SVCOSxF9VY5KitNX5dPUuIYY6eFkMLAyNgw1rRsAvREVZr0CIiAIiIAoN1u1LaKQ1FS\/f7jAfWeewKVNNHTwvmmeGRsGXOcdgF+c1Vzmu1e6qDHSzyu4KODORGP4iO3s789ishDEzJxPEdkrLVnhd9QXG8l5keY6YbdDGSG88jPadvgv0m3wejW6mgxjo4mtI8AsZc7S220lotTj0ktXVCSc9Rds3Hh62Pet2p1WrKxTwcJqc3N3eXuERFQeiERcveyNpe9wa0cy44AQHSKNSXCjr+P0Spjm6PHFwOzjPJE0OJpq6JKIvhIAyTgBDp9VdfrmLTaZqnI6THBED1vPL3c\/JRq\/VlpoSGiY1MhOOCDDvjyWYq6i56xuQpYYGU7abJ4JCcN3A9bbn3Y7e9Wwptu70MVfiYqLjTd5PSxotL0LLTZRU1b2xy1REkj5HYwD7IJPjnxJX2r1jaKb1Y5X1L844Ym5+J2UWLRvpDxNd7jPVv29UHA8MnJPwV5RWqgtwxSUkcRxjiAy4\/wCo7pJxvd5inGsoKMUopdc2UZueprptQ25tBGR+8n9r4\/gVAvFhqYLVPXXe7yzyNHqRtJ4eInbn8gAtusPr24dJNBb2A4iHSyHqydh9fepU23KyViriacYUnKbbf9siz0lZKOK0w1k0Ecs8x4w9zc8A6gM8uXxWkAAGAMAKFZGcFjoW7\/8ADszn\/KFOVU23JmyhBQpxSWwREUS45ke2KN0jvZYCT4BZvRcbpoK65SNAfV1BPlz+ZKs9RSGPT1c4HGYi337fVVUVZ+qNAxSxuLJHRYjPXxOJOR7yfJWRXLluY6skqyb0im\/weU2NUam9H2dQW4kvyNnuzjHPfONu4Fa1UVgpqaxafZNUvZD0oEsr3HABdyHkMDxyrqKWOaNskUjZGOGWuacg+a5N7LRE+HjZYpd55v8AB2iIoGkIiIAiKi1FqWCzxOhjIkrHN9VgPsdhd+HWupOTsiFSpGnHFJ5FLrW9OmmFopSSGkdNgZ4jsQ0eHz8Fa6U08LVTek1LAauUf\/G3s8e1eWl9OMpmMudaOOrkHG0E5DM758Vp1bOSSwRMdCjKc+3qa7LoZi7ZqNcWqnG4ijMh68e0f6QtOsvTj0j9IdS7AxT04wfJv\/6K1ChPZeBdw+bnLxf0yCIotxuEFsopKuodhjBsBzceoDvUErmhtRV2cXW601oo3VFQ7uYwc3nsCz0NqumpZGVV4kNPR+1HTM2JHf2eJ38F3ZrfUX6tF8urT0YP2anPIDqPh8+auNQ15t1mmljcRM8dHDgZJeeWO\/mfJWrldlqYn8WLqT7i26+f4RSaYpqeS\/3SamhDKWLEUbcbHfnv\/l7ev3FcaZt5ttjgidjpJB0r8dp6vIYHkijN3kXcNTw01dZvP5nvd7xTWalE9QHniPCxrRniPZnqVBHQXfVEgmuL3UVBnLadmznj89Z9y1ckUcoAkja8A5AcM4Pau0UsKy1OzoupLmfL09yjno7Vpi1y1kNJH0kQ9RzxxOc47AZO\/PsXGj6F1NaPSpW4nrHdK4nmR936nzUbUrpLpd6Gxwn1XO6Wfns0dvlnzwtO1oa0NaAABgAdS621HPcqpxi6rcVlHL13PqIirNhxLKyGJ8sjg1jGlznHqA5lfndUJKuz3G9TO9asqGxRgjcNBzju5Af6VrNX1Xo2nZwDh0xEY37Tv8AVTagpPRdM2i2kcLnSs4tsYdg5+Lir6eXqebxjxNrovq8jW0TOjoadmMcMTRjs2XuiKg9FKysERVl9vUVkoemeOOV54YmfxH8F1Jt2Ryc4wi5S0RF1jKI9N1Dc4MhY0b\/9QP0VPWMdX1disTcmOKFkk4A2Pq\/gD\/N1qFe7ZXfqn9bXSok9Illw2HqjaRnB9w26vFWWhaZ85qrnO90km0LXOOTgAZ+HCtCSjC9zypTlWr4GrXt8ln9TV1NNBVwOgqImyxu5tcMhZx1jvFml6Sx1XSwczSznby6uzfYrUIqFJo9KpRjPN5PqtTMR6x9FkEN3t09I\/f1gMg+\/+6nw6rsk3Kua0jqexzfmFbPjZK3hkY17exwyFClsVpn3kt1PntEYB+CleD2K8FeOkk\/Nex9berU\/HDcqTfkOmbn5qPV6ns1HxB9ayRwHsxevnuyNviuH6RsTySaEAkY9WR4+q9qXTlno\/wB1QRE45yDjPxyucniP\/S+n1KiS73m\/vMFnp3UlMRvVTDBPgfwyfBVEVhhk1TFb+mdVuhHS1cj+TjsSOvuG561uK6sittBLVS7MhZnA2z2DzOAqXR1I\/wBCmuc4JnrXlxJ58IJ+ufgrFK0W1kZqlHFUjGTu9X4Ly8TRoi5ke2KN0jvZYCT4BUHpGa019o1Beqwez0vRtI5Hc\/gPetDVVlNRRdLVTshYTgOe7AJxnHwKoNDRn9Uz1L\/anncc56gB9cqF+kGpxHR0oPMukcPDAHzKuccVSx58KvZcL2nr82aqrrqeio31c8nDEwZJ7ezCzVHSVGq61tyuDDHb4ifR4P4+8+5eUEc2ramKMh0dpoyBvkGZwGPz2A962DWtYwMY0Na0YAAwAFx8nmWK\/EO77q+r9j61oa0NaAABgAdSyQxqrUuQS+2UI25hsjv\/AH8B3qdqS7SsfHZ6FvHV1Y4SQccDT8jjPhzVlZ7ZFaLcyliAyPWe4fed1lcXKr7s7P408C0Wv4XuTkRFWawuJZWQxPlkcGsY0uc49QHMrtZ7WNZJFbGUMDeKaueI2jrxtnHwHmpRV3Yrqz7ODl0PDScLq6rrb7P6z55CyLI3a0f2wPJahRrdRst9vgpIwAImAbdZ6z5nJUlJO7I0KfZ00nrv5hERRLjL6oHpt4tNs9UtdL0kgzvjPZ4B3UvuovtGprJTc+GQyEeYP9JSE+m\/pBleN20dPwg9QOOX\/wBj8Um+0\/pDgB5U1MTgb9R5\/wA3yV6yt4I8yXNifWSXyNOiIqD0ziWVkMT5ZHBrGNLnOPUBzKytmhk1Jd33urZ9lhPBTROPIjG\/56\/BSNU1klVPBYKN37arI6U49lmc\/Qk9yvaGjioKKKlhaGsibgY+J96sXLG+7Mj+NVt\/mP3\/AEVOtI+PTczsZ6N7HeG4H1UHQB\/3fVNzsJQeXXhW+po+l05Wt7I+L3EH6Kn\/AEf\/APA1f\/dHyUl\/yZTNW42L8Pc1qIipPRCIiAIiIDM60kdNBQ22NwD6uoA8uXzIWjhiZBCyGMcLI2hrR2AbBZu5Yk1\/a4njLWwFwHfh\/wCAWnVksopGajzVJy8bfJfsKu1BMYLBXPHPoXN5457fVWKz2tp+i069n+NK1nL\/AFf0qMFeSJ15YaUn4EnSkPQabpGnm5pefMk\/LCodRSxah1DR2qmORE5zZZAOX8WPAD3q1vNxNjsNPRwHFW+NsMTQcubtgn6eKp9CUDn11TXSDIiHRtPFnLjz8dvmrY5XmYajxYOGXhf0NlR0kFBSx01OwMjjGAPqe9Qr5eorRTbDpamQYhhG5ce09yXu9w2anBI6Sok2ihHNx\/BQLJYp3VZu95PS1j92RnlF\/f5eKgl\/qRrnN37Klr9v7ZHppqyyUcbq+4DjuFQS5znblgPV49vuV+iKEm27stp04044YhERcLAsrGDedcPeW5p7Y3hBztx\/+8\/y+SvrtWi3WqoqzzjYeH\/Mdh8SFW6PoXUllbPJky1bulcSeo8vhv5qyOUWzLV56kafq\/TT6l8iIqzUERcTSCGF8pGQxpdjwQGb0p9oul5rXc31HC3PMDJOPl7ksf2vV14rRuI8Qg+eP6Fxo+RtFpiqrZTkCR8hJPMBo\/Ar30TA5tnkqpDl9VM5+e4bfMFXyyxP0PNo8ypLzl\/fM0aiXO4Q2ugkrJ8lrBs0c3E8gFLWQeTq3UDWNObZQni4sHErtsjz+Xiq4xu89DXWqOCtHvPT+8CVpa3zyvkvtwyaqqHqZ5BmBg\/D3eK0q+NaGtDWgAAYAHUvq5KWJ3J0qapxwo8K2nFXQz0xIAmjczJ6sjCzegQG26rYccbZ\/WHXyH91q1lLQz9VazrqEn9nVt6WPA78geWXDyUo5xaKKyw1oT8189DVoiKs1hERAEREBl7y70TWtprJGno3sMPF1ZPEP6wtQq2+2dt6t\/o5kMUjHB8bwOTh2926podTVtnYKa\/UU3E08LaiPBD\/AM9vwVlsSVtTHjVCcsejzuatZfVh9Julot4BPST8TvDIHyypsWr7HIwuNWY8dT43Z+AWau96oa7UbKpk0hgjpzGx0ceTxHi+67H8XwClThJSzRDiq9N07KSd2tyLdLg+63+eSmJlkLugpuEH2eWRjz\/mz1LQyXGHTlDDZ7c30q4uwC1uSA8gZJ+g7FQWLT94qJenps0cZGBO9uHYP8PXy6xjxW0tFgo7QC+MGWocPXnf7Tu3wU6jisjNw0K07ztZvf2Ill08+Co\/Wd1l9Jr375O4j2+f5Cv0RZ3Jt3Z6lOnGmrRCIi4WBERARq+gp7lSupqpnHG4gkAkbjwXuxjY2NYwYa0AAdgXSJc5hV77hERDoUW5Ei11ZBwRA\/8A8SpS86iPpqaWIjPGwtx4hdWpGSumjCmrMehKeljd+2rZ3MAzguHFk\/Qea21BSNoaCClbyiYG885PWsHpSlnuF3p45siG3Bz+Ejk4nl45\/wDFbG9XuC0QYOJKmTaKEHdx5eQV1RZ4UedwkkoOrLJJJfL9kDVF0lHR2agJdWVZDSWneNufrv4DKtLPbIrRbo6WMDIGZHD7z8blVumrPLT9JdLhh9bVniOR+7B3x3E\/gFoFCTSWFGqjFyl2s9XouiCIirNIWW1XmgulsvLWnhif0cpAz6vPHuLlqVGuFFFcaGWkmHqytxnHsnqI8CpRdmU16bqQaWu3me7HtkjbIxwc1wBaR1hdLOaUrZWNmstZtU0JwN\/aZnq8NvIhaNJKzsSpVFUgpBERRLAiIgC+EAjBGQV9RAQ5LRbZn8clBTud2mIb+Pas9pSngqrrdK9kMYh6To4QGDAGTy7NuHktBeav0Gz1VSDhzIjwnP3jsPiQoOkKX0XTsGccUxMhwO3l8AFYm8DMk4xdeKS0u\/wi7REVZrCIiAIiIAiIgCLxjrKaWofTxzxulj9tgcCW+S9kOJp6BERDoVRqG8ttVEWxEOq5vVhj6yScZ8lxe9Rw2vFPAz0mtfs2Fm+D34+XWvGyWOf0k3a7npa6TdrTuIh3d\/yVijbmkZalRyfZ09d30\/ZCoNJVkVJHUQ3Oakq5Yv2wAzlxOd9+obeKsbXpiChqfTKqokrqrqlm+6e0Ak78utXiLjqSZ2HC0o2stAiIoGkIiIAiIgMtqiGW23Glv9K0kxkMnaPvN7\/LI9y0lPURVdOyogeHxyDLXBfZoY6iF8MzA+N4w5rhsQspmo0bX4w+a0VDs55mJ3596sXOrbmSXwJuf+Xr4Pqa9FxFLHNE2WJ4ex4y1zTkELtVmsIiIAiIgM1rSZ0tJTWyHearlGG4J2Hh34+K0MELaenjhZ7MbA0bY2AwsxZ2G+amqby\/LqemPRU+eWcfTJPi4LVqyeSUTLQ55Sq9cl5IIiKs1BERAEREAREQFJd9NU9wm9Mp5H0laNxNGSMnGBn8RuoDLlqa0BsddQCvjzgSwnfzwPDmAtUimp5WeZnlQV8UHhfh7GY\/2ous2G02nKkk7cT+LGf5fquHQ6ru7ejndFbYS7DjH7RHkSfiOa1SLuNLREewlLvzb+n2Ku06fobOOKFrpJj7U0hy7vx2K0RFBtvNmiEIwVoqyCIi4SCIiAIiIAiIgC8aukgrqZ9NUxiSJ4wQV7IhxpNWZj433DRsojnzVWl7vVe0etGT+fA9y1NHWU9fTNqaWQSRv5EfI9i9XsZIwskaHtcMFrhkFZqfTdbbah9Vp+q6IvcC6nefUxvnx+m+6sup65MyqM6Hdzj03Xl1NOiyw1dVUD+ivVqlgOcdJFu07dWdj5EqQNb2dw2M+T93o9\/mudnLoSXFUd5W88jQrOajvTw8Wa2gS1tSOB2D+7BHzx7ua8Xakul1447HbH8I\/wCfMQAPI7Z8z4KwsNhFrElTUydPWzHMkp3x3D6rqjhzkQlUdblp6bv2JdmtjLTbI6Rp4i3Jcc5ySc\/2U5EUG7u5qjFRSitEERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAfCARgjIK8jS0xdxGniLu3gGURSiU1Nj1AAGAMAL6iKJcgiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1080\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1081\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1082\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I1083\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R1150\",\"id_control\":\"28966\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:49",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:24",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:49:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'TO3146', 1, 9291721, 0, NOW(), 
				'12:49', '12:24', '12:49', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023769.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200640
[09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1080', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1080'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1080';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1081', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1081'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1081';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1082', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1082'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1082';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-I1083', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-I1083'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1083';
                [09/06/2026 12:49:29] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200640', 'TOS-R1150', 2)
				
[09/06/2026 12:49:29] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28966 and
				    IDproducto = 'TOS-R1150'
				

09/06/2026 12:49:29 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-R1150';
                
09/06/2026 12:49:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200640'                    
				WHERE idllamado = 12950			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 12:49:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12950			
				
09/06/2026 12:49:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12950
            GROUP BY l.idllamado;
            

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12950
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:39 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:49:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:49:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12880
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => EM-C8100
            [SerieInternaMaquina] => EP3171
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:49:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                
=========================================
FECHA: 09/06/2026 12:50:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-JP9Jmk8C5h+x_IzZEETHzgoRw42A.0l.ljSpMAnkdviEJL4dXJ_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3171",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12880",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAMMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABBEAABAwMCAQoCBQoGAwAAAAABAAIDBAURBiExEhMiQVFhcYGRobHBMkJS0fAUFRYjJDU2Q3OCB2KSssLhcqLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgIBAgIIBQUBAAAAAAAAAAECAxEhMRJBBBMiUWFxsdEjMpGh8TNCgcHhU\/\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLC1PcaiCGG30I\/aq53NtcD9AdZ7uPHx7F1LLwQsmq4uTF11TT0c35HRRmsrHbNZGMgEjbJ6\/ALkjo9XVrRJNcIaMO\/ltaCR6D5rVsdkgstGImBr5nbyS43cezw7lpqfElpFFCqnZrY8eC0\/JLOm1dazypIoblEAc8gdL2wfY\/Bdtt1XQVrxDPmiqDxjmOBnuPn14W4s+62WjvEQbUMxI0Hm5WnDmH5+CcUXuh1VkNa5Z8H7mgimLRca61XRljuzw8OaBTTD63HGT7eSp1GUcMtqsViyERFEtCIiAIiIAiIgCIiAIiIAixrxf326qio6SikrKqQcrkN2AHvv3L5tWpYq2qNBVwupK1ucxv2B7h39ePipcDxkp6+vj4M6m2iIolwREQBTF4PJ1taHP2YWEAnhnf8A69lTqZ1nHJBFQ3SEDl0cwPDtwfTI91Ov5sGbpX6fF3NP6MpkXnDMyogjnjOWSNDmntBGQvRQNO4RFz1tdT26ldU1Ugjjb28SewdpQ42kssn9bBsUVvrGuxNDUgMxxI4\/Fo9VUL+eVeoW3a+U9TJSzSUtMctpmnJcepx88emOtVtp1DS3WV1OGvgqWjJhkGCRtuPVXTg1FGGi+uVsmnvjH8GsiIqTeEREAREQBERAEREAREQExaA2bWt1le0F8bQ1p7BsPgAu3UlkF1pBLAeRWU\/Sie3YnG+M\/DvXFY\/4wvPl8VTqyTakmjHTCNlUoy5t+pj6bvP52oMS9Gqg6EzTxz2+fxythSuoKOWz3FmoaBowDyamMD6QPX5\/HBVJSVUVbSx1MDuVHK3lNK5JLdbFlM5a1z3X3XeeyIigaAuevpGV9BPSP2bKwtz2dhXQiHGk1hk9o+sldQzW2pyKihfyCD9nq9wR6KhUreCbFqenu7QRTVY5qo7Ae30AP9pVSCCMg5BU5r93eZ+jtpOt7x0\/jkYeoNTwWZvMxgTVZGRHnZo7T9yxLZZLhqSdtwvUsgp9yyPOC7uA+qPc+6ov0bt77rNcZ4+ekkIIa\/drdgOHXwWspcaiuzuQdE7Z5tfZWy9zwpKOmoYRDSwMhYOpoxnx7VgatpXU35Ne6VobUUsgDzw5TTsMnx281TLO1BDz9grmYz+pc4eI3+SjF4lktvrTqaXLY7KadtTSxVDBhsrA8eBGUWXpiqZJpyjL3tBDC3BIHAkfJFFrDwTrmpQUu9GlV1lPQ07qiplEcbeJPwWDJru0seWtjqpAPrNYMH1IK854WX\/Vz6ao6VLb2B3Izs9xxse77lTsYyNgZG0Ma0YDWjACniMdynittb4HhLTbOTMt+pbVcpGxQVHJlccCORpaT8itVY9201QXKB3JiZTz8WzRtAIPVnHELx0pcKiqo5qOsOaiifzbznJI3Az37FcaTWYnYWTjNQs57NG8iIoGkIiIAiIgJi07a5uwGwMYOP8ASqdTFq\/jq6\/0h\/xVOpz3M3Rvlfm\/U+JYo54XwysD43gtc08CFNaZnlt1xqrBVOcebJfTlx4t7B5b+qqFOatt55hl4pcsqqMhxLeLm5+XHwykNey+YvTji2O8fTmUaLho7rTVNojuTpGxxFnKeXHZp4Eeuy\/LVeKa8RSS0rZAyN\/Jy9uOV3juUcMuVkG0k9zvREXCZx3S3x3S3S0cuweOi77JHArM0rcJJKaS2VTgaqiPNnfctGw9OHot9SeoWyWK9QX6mGY5SI6lg+t\/9A9QFZDVcJlv+HJWrlo\/L\/CsRecMzKiBk0ZyyRoc09xXoqzVuFy3P91Vf9B\/+0rqWHq6tNLYpI2by1JELGjOTnjw7vipRWWkV2yUa233Gdp3P5ipuVnOHcf\/ACKKgs9F+brRTUhGHRxjlgHPSO7vclFKUtWU1UtQim+RiwONv17PE8dCuiywgY3Az8neyp1OawoZHUsV0pSRUUTg7I625+R39Vt0NXHX0MNXH9GVgcBnOO7y4JLVJinsTlW\/NeT\/ANOhTFiJbq28sacMJ5Th352+JVM5wa0ucQABkk9SmdIYqqm63IDo1FQQ056hk4x\/cFyPys7brbWvF+hToiKBpCIiAIiICYt+I9f3Jh+vAHAnb7H3qnUw3Df8Q34+vS7+g+5U6nPl5Gbo20l4sLhu9xo7bQvlrSCxwLRHxMm3ABeV5vlNZY2GZr3SSg821ozkjH3hZVrslXdKlt2v3TcQDDTn6LB1ZHV4eqRjpl7Cy156uvWX2XmTloo21dzp6G5Onp6ScmWGHOA8nYeGcEZ+9f0eCCKmhZDBG2ONgw1rRgBY+qrXJX25s9MP2qldzkZHEgcQPY+S67FdWXi2R1IwJB0ZW\/ZcPxnzUpviWSno1apm63vyff8Ag0URFUbwvKppoKuB0FRE2WN3FrhkL1RDjSawz5jjZEwRxsaxjeDWjAC+kRDp5zTR08L5pnhkbBlznHYBTFrM2pb4bpPHihoyRSscOLu3x2BPkF7V9Bcb\/d3U1Sx9NbKd2djvOfx6eKoYYY6eFkMLAyNgw1rRsArNIrxMuJXT10ivu\/Y9ERFWaj5kjZLG6ORocx4LXNI2IPEKY09zlnvtXYpHF0JHO05PZ2en+0qpU1qyF9HNR3yFpL6WRrZAOtmf+yP7lZDXs95m6QuHFq\/b6czq1ZXGjscjIz+uqSImAcTnj7ZXXY6EW6zU1NyQHhmX4GOkdysMSx6j1ZC6NzJaOhj5fDOSQD19+P8ASqxJaRUTlXxLJWctl\/YREVZqCIiAIiICYuhFv1pb6w45upYYndueH\/JvuqdTOuGFlvpaxn06eoBB7AR94CpGPEjGvbwcAQpy1imZquzbOPk\/r+D8fDFKQZI2PLeHKaDhfaIoGk47pWyW6gfUxUr6pzMfq2ccdvAqS0\/dIG6mLLex7aWtGZIn\/wAt+\/DH4wVcrzbDEx5e2JjXE5Lg0AlTjJJNYM1tMpzjJSxjwPRERQNIREQBERAEREAREQBeFZSRV1HLSzDLJWlp7u9e6wb3W3W01Ta+ICe3gATQgdJv+bP4ClFNvQrtmoxzJaEzp6C8UtVWRW18LaiLDZoJfr4J3Hgdurit11y1dCS59np3sBx0Hbn\/ANyuO5VUMFdT6otbuehcebqmNOCOrcdR+YHarCKVk0TJY3BzHtDmuHWDwKtnLm0YOj1aOCm1ju2xyZN\/pDfm7O07IT2tJx8E\/SO9jJdpyfA6gXb+yp0VfFHuNXU2f9H9F7EydYSU\/wC8LLV0rc7uxkAdu4C7oNV2WfH7YI3fZlaW+5GFsLOqbBaavPPW+Ak8S1vJJ8xgpmD3Q4L47ST817HdFLHNG2SKRsjHDLXNOQfNfa8KOip7fStpqWPm4mZw3JPE54nde6gzQs413MzUdJ+WWCri62xl48W7\/JfGmKsVmn6V\/Ky5jObd3Fu3wwfNapAIwRkFYOmaKotUlbbpWkxNk5cT8bEHz8NlNaxaM8k43qS2ax\/aN9ERQNIREQBERAEREAREQBERAEREAX45oc0tcAQRgg9a\/UQEXfNOzWxtRV2scqllZiopeOB2jw49o8F7aFuwlpn2yV\/Ti6UWTxaeI8j8VXKN1DYJLXUi92kBnNO5ckY4N7SB2do\/AvjLjXDI86yl0TV1e3NeHgWSLMsd7p71RiWMhszABLF1tP3LTVLTTwzfCcZxUo7BERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAF+EAjBGQURASz9O1Vqv0NbaHYgkfiSI8GtP0h4bbd4CqkRSlJvcprqjW3w8wiIolwREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO  ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1273\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1274\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1275\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1276\",\"id_control\":\"28903\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:50",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:49",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78338181

[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78338181', 'EP3171', 1, 9291721, 0, NOW(), 
				'12:49', '12:14', '12:50', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023819.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200641
[09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1273', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1273'
				

09/06/2026 12:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1273';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1274', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1274'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1274';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1275', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1275'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1275';
                [09/06/2026 12:50:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200641', 'EPS-I1276', 1)
				
[09/06/2026 12:50:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28903 and
				    IDproducto = 'EPS-I1276'
				

09/06/2026 12:50:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1276';
                
09/06/2026 12:50:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200641'                    
				WHERE idllamado = 12880			
				TO ENVIO: null, rocio.espinoza@rabinfinite.cl


09/06/2026 12:50:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12880			
				
09/06/2026 12:50:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12880
            GROUP BY l.idllamado;
            

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12880
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:50:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:50:33 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:50:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:50:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12881
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 03/06/2026
            [HoraLlamado] => 17:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78338181
            [ClienteRazonSocial] => CONSORCIO RAB INFINITESPA
            [ciudad] => CALAMA 
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3155
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 12:51:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QGBPzCW_R69lMW05uXIHxf10Sc3lSViD8yl+Y.yTNH1XxlfJeMJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78338181",
    "serieinterna": "EP3155",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12881",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB7AM4DASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAwUFBQUECwAAAAABAAIDBAURBiESMUETUWGBkRQiMnGxFSRCodEjUsHh8AcWwuIXMzZDYnOCkqLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgUCBQMEAwAAAAAAAAABAgMREiExQVEEcRMiMmHBFCOxQpGh0YHh8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEXNq9QWmhmdDUVrGSN+JoBcR6BblNVQVkImppmSxkkcTDkZC7ZrMgpwbsnmZkRFwmEREAXBu+onU9WLdbIfaq482jkz+a3r5cDbLRPVMc1sjRhnEMguPJael7Oy3W5tRJ79VUtD5HnmAd+H9fFTikliZmqSlKapwy3b4RqC26slYJH3aCN\/Psw3bzwF6or3c6G5xW2+xR5m2iqGYAcfHp9FSqZ10xn2PDMR78c7eEjnuDn6D0UovE7NFdWm6MHUjJ5cu9ymReWEuY0uGCQMhelUbQiIgCIiAIiIAiIgCIiAIiIAuTqS5PttokfCfvEv7OIA75PUDrhdZTGovvWpLNQk5YHmVzcc9\/wDKVOCvLMo6iTjTdtXl+5tWfTFJS0Lfb6eKpq5BmV8g49+4Z7lzqpj9I3VlVTh5tdU7EsY3Ebu8eXL0VctW50Edyt01HJykbgH909D6rqm75kJ9PFQ+3k1p\/wB7mwx7ZI2yMcHNcAWkdQvSnNH18jqWW1VW1RROLcHnw5\/gdvRUajJYXYupVFUgpIIiKJYcXV0Dp9OVPDn3MPIBxkArcstWyts9LOwg5iAOOjgMEeoW49jZI3RvaHNcCHA9QpWwy\/YN6qbFUktjlf2lK93I56eePUFWLONuDLN+HWUno8v87FYpbU7vtC9Wyzs94dp2swxnA8fLi9VSVNRHSU0tTM7hjiaXOPgFL6ffG11VqO7OZA6ocREXn8O3Lv5ADG+xSGXmOdS1K1PnXsitRTcusoJJjDbKKorn7btaQPnyz+QXkX7UDiCNPvDc75cc4XPDkS+qpbO\/ZNlMinqTVTRUspLrRyUEr9g5\/wABPz7vFUKi4taltOpGorxYWOaeGmiMs8rIo283POAFoXy8x2akD+HtZ5DiGL987fTIXJo9NVN0kFbqGd8riMspg4gMz0OOXyHqpKOV2QnValggrv8AhdzpSapskRcHV7DwnhJaxzhn5gLNR3+118jY6asY57vhaQWk+oCR2C0RABttpjgY96MO+q17lpqgqqZ\/s1NFTVAGY3xN4MOG4zjnuu+QjfqFnk\/3Oyi4ulK+S4WON8pJfE4xlxzvjHfz5rtKDVnYupzU4qS3CIi4TCIiAKYl++f2gxM2LaOnyfAkH\/2Cp1MWz3teXRx3IhAB8Pc\/RThv2M3UZuC91\/ZToiKBpJXU8ElruNNqClactcGVAH4hyGfLb0VNBNHUwRzxO4o5GhzT3grxWUkVdRy0swyyVpafDxXB0jUyU4qbJVH9vRvJbnqwnp57\/wDUFZ6o9jIvtVrbS\/P+ylREVZrC5GorL9sUI7IhlVCeKF\/Lfuz4rrouptO6IThGcXGWjI8z1eqLG+2kiG4U7x2zHtxxY6+Hj4+C2KPRcZeyS61b6wsaGtjGWsaB078eix6koqu33Nt5tkbnPexzJmtBPTAO39ZAXV0xbZbXZY4J2BkznOfI0Y2Oe\/rsArnK0bxZghTU6uGpG7W+3sdOGCGmiEUETIo28msGAFkRFQeklY517tcd1tskLgO1aC6J+N2uHJamka811hiDnEvgPZOz4cvyIXcUxpnNJfLxbsYaJe1YNtgSf4FqsWcWjLNYa0ZLe6+UeI4zd9cyvnI7K2tHZsGd3dD6knyCqlMWn9jre6xO2MjA9ueo2\/VU6T1Q6bST3uwta4VTaG31FU44EUZdyzvjZbKm9bTv+y4aKLd9XM1mO8Df68KjFXkkW1p4KbkZdF0pp9PRucMGd7pP4D6LvrHTwtpqaKBnwxMDG\/IDCyJJ3bZ2lDBBR4CIiiWBERAFMWr\/AG6uv\/KH+FU6mLXtru6g7ExA4\/7VOGjM1f1Q7\/DKdERQNIUpqkOtNzo75TuAeHdnKzP+sH8dsj0WxcNUufP7HZKc1tT1eB7jf68gsdNpN9XIau+1T6qd7ccDThrM\/wBdMBWxWHORhrT8ZYKSu+dkUVNUR1dNHUQu4o5WhzTjGQVlUxpyaa1XCawVkmS0l9MT+JvP+fkVTqElZmmjU8SF3rv3CIiiWhERAEREAUoyQ02vK90ePfpgSDy\/AqtS9uaKjXd0lIDmshDMHff3f0Kshv2MvUZuCXPwxfR9maot11AxHN+xlxsO7JPyP\/iqhcfVNEK6wzMDHPfHiRgbzBH8iU0vdG3SzRFzszQgRyjO+RyPmPzyjzinwIPBWlDnNfJ2FMXn7zrS0Ux3EbTLj1P+BU6magn\/AEhUu2wpjg48HLkNX2O9T6Yrlr8lMiIoGkIiIAiIgCl3H2X+0NpIwKunxnvwP8iqFL6zZ7K633aMe\/Tzhp25jmPofVWU9bcmbqsoKfDTKhfCARgjIKNIc0OG4IyF9VZpNait9JboeypIGRNO54RuT4rZRE1OJJKyJ7VdBM6GG60Y+9ULuPbq3mfnj6ZXVtVyhu1BHVw7B2zmnm13ULbIBGCMgqVoGNsGr5KBpLaWuZxxM6Nd3fk4eisXmjbgzT+1VUlpLJ99mVaIirNQREQBERAfHODWlziAAMknopjSOa2vut1PwzTcLPlufoWrPqq7OhpxbKImStqjw8DM8TWnrt1\/murabey12yGjZgljfecPxOPM+qs0j3MrfiV0lpH8s3FGVjXaS1C2siafs+sOJGgZ4T19OY8wrNad1tsV2t8lJNtxDLXfuu6FchKzz0J16bnG8fUs0bTHtkjbIxwc1wBaR1CnNVUk8NRSXukZxyUhxI0Zy5vMcunMea86QuUgbLZaw4qaRxDATzaNseOD+Sp0zhIisPUUuPho0rXdaW70gqKZ23JzD8TD3FbqnLjpd7Kr7Qscwo6sHJadmEddsbfLkvNv1a1j\/ZL1C6iqWjBc4ENdtz8OS643zicjXcHhrZPnZ\/0UqLxFLHNG2SKRsjHDLXNOQfNe1Wagi+ZBzg8ua+oAuJrCDt9N1Bxkxlrx5EZ\/IldtYK2nFXQz0x\/3sbmeowpRdmmV1Y46co8oxWio9qs9JPnJfC3JznfG\/wCa3FPaKqe2sDYTnip5HMIPzz\/FUKSVpNHKMsdOMvYIiKJaFzLhaDXXShrROYxSOJc0D4+Rx+S6aLqbWhGUFNWYREXCQREQBcS7ano6Dip4HiprCeBkTN8O5Ycem\/Tmu2tSC10NNUvqYaWNkzyS54bvvzUo23K6im1aDscrTllmpnyXO4kvrqjcg79mD0+f\/wAVAiLkm5O7FOnGnHCgiIuFhE6spKi2XqG+Urfdy3iIHJw7\/AjZV1BXQXGjjqqd4cx4z8j1B8VllijnidFMxskbxhzXDIIUFSTyaR1NJTSl\/skhwe4sPwu8v1Vy88bbowSf01TF+mTz9mfoC162gpLhD2NXAyZnTiG4+R5jyWcEEZByCvqp0NzSasyYOio4nO9hulXTNJzwg5+mEOl7qTwf3kquzPTDs\/L4v67lTop+JIz\/AEtHZfyzl2ewwWd8srJpp5psdo+V2c4XURFFtt3ZfCEYLDFZBERcJEtZeG3avudv4gGTgSsHjzwPJx9FUrWfQU0lfHXuiBqI2cDX9w3\/AFPqtlSk7u5TRpumnHa7sERFEuCIiAIiIAiIgCIiAIiIAiIgC42pbI28W4hgAqYQXROxz\/4fNdlF1Np3RCcI1IuMtGTWjbs+ppHW+qcRUUpwA7Ylvd8xy9FSrCyjpo6l9SyCNs0nxSBo4j5rMuyabuiNGEoQUZO9giIoloREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "CONSORCIO RAB INFINITESPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROCIO ESPINOZA ORDÓÑEZ",
    "correoContacto": "rocio.espinoza@rabinfinite.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSUMOS",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56956281303",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"128904\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28904\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:50",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:51:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78338181

[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78338181', 'EP3155', 1, 9291721, 0, NOW(), 
				'12:50', '12:14', '12:51', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023870.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200642
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1240', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1240'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
09/06/2026 12:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                
[09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1241', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1241'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                [09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1242', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128904 and
				    IDproducto = 'EPS-I1242'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                [09/06/2026 12:51:10] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200642', 'EPS-I1243', 1)
				
[09/06/2026 12:51:10] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28904 and
				    IDproducto = 'EPS-I1243'
				

09/06/2026 12:51:10 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
09/06/2026 12:51:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200642'                    
				WHERE idllamado = 12881			
				TO ENVIO: null, rocio.espinoza@rabinfinite.cl


09/06/2026 12:51:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12881			
				
09/06/2026 12:51:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:14 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12881
            GROUP BY l.idllamado;
            

09/06/2026 12:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12881
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:51:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12932
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2789
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:51:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:51:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:51:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:51:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12937
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                
=========================================
FECHA: 09/06/2026 12:52:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QJRHGCUJuOq8lEog-E.22HlPPKcmAcE.3Jm0bQta3q+EuXf98Ca
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2789",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12932",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAByAMsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA4EAABBAEBBQQIBQMFAAAAAAAAAQIDBAURBhIhMUETUWGBFCIycZGx0eEVI0KhwUNS8AckNILS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAuEQACAQMCBAQEBwAAAAAAAAAAAQIDETESIRMiQVEzccHwMmHR4QQUI0KRobH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh5TIRYvHS25V4MT1U56qvBEJhlM6n47tDUw0b9YIPzbO70++nD\/sWgrvcxr1HCHLl7LzLzC2rN3FQ2rTEY+VFcjU\/t1XT9tCefGtRrUa1ERETRETofSHuzSKaik3cAAgsAAAAAAAAAAAAAAAAAAAAAACnye0+OxsnYb6z2Nd3souKovivT3cyUm8FJzjBXk7FwCLjbj79COy+u+u5+usT+bdFVP41JRD2LJqSugAASQ8rfbjMZPcciL2bfVReruSJ8Sq2RoSxUX5G0qvs3l31c7nu9Pjz807jjtg91qTH4iNeNqZFfp0ROH8qvkaVjGxsaxiaNaiIidyGmIeZyrnrt9I\/6\/segAZnUAAAAAAAAAAAAAAAAAAAAADjat16UDp7MrYo283OU83btfH1X2bMiMjYnFe\/wTxMzSpWtq7aZHJtdHj2L+RX1VN7x+\/X3F4xvu8GFWq4tQgryfu7Pr8hl9ppXQ4tFp0EVUdZdwc\/3fRPNS5xOz9DDtR0Ee9Npo6Z\/Fy\/TyLGKKOCJsULGxxsTRrWpoiIew59FgiFBJ65u8veAACh0AA52Jkr1pZlTVI2K5U9yagN23M3RRcjt1bsrxjox9m3rovL\/ANmoM3sTA78MnvScZLcyuVdOaJ9940hepm3Y5vwq\/T1Prv8AyAD45yNarnKiIiaqq9Ch0hzka1XOVERE1VV6HiGaKxE2aGRskbk1a5q6opl7duztVcdj8e9Y8dGv59hP1+CGlp1IaFSOrXZuxRpo1CzjZb5MadXiSelcvfu\/kdwAVNgAQsnlqmJg7Wy\/i5dGMbxc5fBCUr4Kykoq7wTQQsTk4svQZbha5rXKqK13NFQmhq2xMZKSTWAACCQAAAeXvbHG6R7ka1qKrlXoh6MttLanyeQi2dou3XyaPnk14Nboq6L5aL8C0Y6mZVanDjfr08zhDG\/bDLrYla9MVWXSNqrp2jvH\/OXA16IiJoiaIhxp1IaFSOrXZuxRpo1DuJSvjBFGloV5bt5APKSMV26j2q7u14noqbAAAAh5dqvw15rebq8iJx0\/SpMPioipoqaopK2ZEldNFJsc9rtmayNciqxXo5O5d9V+SoXhmn7MXaNh8mDyS1Y5F3nQyJvNRfDnw96Hl2F2mtt3LedZG3r2DdF\/ZGmjSbvc5Kc6lOCg4NtbdLFxks1QxTNbc6NdpqkbeLl8jP6Zfa72taGMXp+qVP5+XvLTH7J42jL28iPtzc9+fR2i+CF2RqUfhLOnUq+Jsuy9WR6VKvj6rK1aNGRsTgnf4r4kgAzOlJJWQAMnkb1zaLKSYfGS9jVi\/wCRYTjr4fbr7i0Y3M6tVU13bwiXkdqUSytDEQLduaqmqew36\/LxPGO2ZfPM+\/nX+k2pOHZo71Gp3cOfyLbF4mpiKyQ1o+P6pF9p6+Kk4s5JbRMo0XN6qrv8ui+pGoUIMbUZVrN3Y2a6a8117ySAZ5OlJJWQAAJAAABkkw20FHJ2rFCSu70lyqssq6rpqunPy6fI1oLRk4mVSkqlrvHYy64PaO7qtzO9jqnswIv8bp9TYmGTRbOStzL14omqd3U04J4kuhn+VpfuV\/NszEuxOJhge\/0i1HusVVk304Jpx14ErY+1Zt4NHWXufuSKyNzk0VWIiae\/qRc3dnzVtcDjU1aq\/wC6n6MRF4p8U8y\/o04sfRiqQp6kTdE15r3r5rxLSb082TKlCHFvTVkv7f2JAByswJarS13PexJGq1XMXRya9ymR2vB1BxqVkqVIq6SPkSNqN35F1cvvOwCxuAACQAAAAACn2pyC47BTPYuj5fymL3Kv2RTrs\/i2YrEwwo1Elc1HSu00VXL9OXkVW1C+l5rEY1q670m\/Iif26p\/CONQaPaKXc5Yc9eUu23qwADM6gAAAAAAAAAQ33Jm5WOmlKRYXxq5bKey1e5SYCSGm8MFZtBPfgxTvw2J8liRyMRWN1ViLzX\/O8swE7O5E46otXsVmCwseGqKze7SxLo6aRV9p304qWYAbbd2IQUIqMcAAEFgAAAAAAAAAAADMVWrb\/wBQLcjk9WpAjW8Oqon1cacyc9iLZ\/bKW1aRyV70Xqva3Xddw14Jx6fuhLt7a4mBi+jvktSckaxipqvvX7msouVrHDSq06akpuzuzQlPktqMZjVdGsvbzpw7KH1l18V5J8yqdBtDtIuszlxdF39P9bk8eSr56J4Fzi9ncdiUR0EO\/Kn9WTi7y7vIjTGOTTiVanhqy7v0X1Kz0\/aTKvRtSkmPhdr+ZN7XgvH39E7yww2Dfi5JZ5701ueZER7n8vhxLcEOW1kXjQSlqk2376AAFDcAAAAAAAAAAAAAAAAAAAAAAAAAAA5zQxWI+zmiZKxV13XtRU+CnClRp1o2PgqQROVqauZGjV5eABovhZyVPGiSwAZnWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"128957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28957\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R956\",\"id_control\":\"128957\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:52",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:52:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76318598

[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76318598', 'TO2789', 2, 9291721, 0, NOW(), 
				'12:51', '12:14', '12:52', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023937.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200643
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I895', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I896', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I897', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128957 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                
09/06/2026 12:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            
[09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-I898', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28957 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:52:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                [09/06/2026 12:52:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200643', 'TOS-R956', 1)
				
[09/06/2026 12:52:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 128957 and
				    IDproducto = 'TOS-R956'
				

09/06/2026 12:52:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R956';
                
09/06/2026 12:52:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200643'                    
				WHERE idllamado = 12932			
				TO ENVIO: micorreo@miempresa.cl, raquel.suarez@santalauraspa.cl


09/06/2026 12:52:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12932			
				
09/06/2026 12:52:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12932
            GROUP BY l.idllamado;
            

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12932
                

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:52:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

[09/06/2026 12:52:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:52:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12931
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76318598
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2820
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:52:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                
=========================================
FECHA: 09/06/2026 12:53:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_WSApVju-0tF8Mt2k_sj0fRywxR3GJKvFpJheNp-HXTqUDA9mmC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2775",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ecora",
    "ciudadmaquina": "Antofagasta",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "19969062",
    "contador": "18399",
    "contadorColor": "44810",
    "contadorScanner": "0",
    "detalle": "retiro maquina \nfirmado por Marcela Mondaca",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12937",
    "observacion": "retiro maquina",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB6AQgDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABCEAABAwMBAwkEBwYFBQAAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQyscEHFSRCosLRIzPS4fDxQ1JikrJHY3KChP\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADARAAICAQIDBgQGAwAAAAAAAAABAgMRITEEEkEiMlFhcZETscHhIzNCgaHwFHLR\/9oADAMBAAIRAxEAPwD+zIi8aqY09JNOBkxxufjuGUIbwsnsiydNV9Tc7O2qqiDI97gNkYGAcLWUtYeCsJqcVJdQsbVF3ks9r5SAgTyvDIyRnHSTjuHqtlfzvWlx9vuXJRHagpOYXA7i87z8MeBV6480jn4y34VTa3Za2SpqKyz01TUhokkZk7IOMdHHsXevKlhFNSQwDGImNYMdgwvVUe50wTUUmERFBYIiwdQ3mqt1bQ0tG0OfUuIdluTjcBgde\/0UpNvCM7LFXHmkbyIig0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALH1VO6DTlWWnBe0Mz2EgH0ythYGtHBum5gfvPYB5q0O8jHiHimT8me2kojDpqkB4uDnebjj0WyuOzxiKzUTB0U7P+IXW5wa0ucQABkk9CSeZMmpctcV5IzdQXRlqtM0xcBK5pbE3OCXH9OPgpB1tMUVloZGHl62fl5znfjIx+ElatEx2qr6bhKHfV1G7FOxwxtO3fpnyC9pvtP0hwA8KamJwN\/QeP+74LWPZ0OC38ZqfRtJe+rKdcdxulJaoBNVybDXO2RgZJ8F2KVfCy863mhnBfT0UONnPNcSAMH\/cfJZRSe53XTcElHdvBSUlXDXUkdVTv24pBlpXsprRT3spKyicctpqgtbnjv\/t8VSpJYeCabPiVqTCkIZxe9eB8ZPIUDCBkcSNx3Hhznei09T3V1FSNo6YB1ZWcyJuM46D478D+Sx9CUjo6uvlLcBmIt5yc53\/BaRWIuRy3Wc90Kl45fzLRERYneEREAREQBERAEREAREQBERAEREAREQBERAEREAUn9IEhFtpYsjDpi7HcD+qrFL6oYKm+2SmLA9vKlz2kZBbtNzkeBWlfeOXi9aWl1x8zZsdQyqsdHLGdxha09hAwfUFYuoLp9ZzNsVsdyksrwJ5GjLWNB3j9fLpXy3S93pxLR0l3EVBI4uxs88Z4jy6iM9S27TZqOzU\/J0zOe4DlJD7zz\/XQp7MXncolbZFVtYXV\/wDD3t9FFbqGKkhHNibjOPePST3lYFjPtWsrxVYJ5MCLPVggfkVQpfQ\/7Wmr6vB\/bVJ492fzKI7Nl7EviVwW2v8AC+5UKasQ5LVV5jkwJHuD2g5zs54js3hUqwrvZqt9wjulplZDVAbMgeN0g4eeN2\/s4KItaplr4vszSzhnNpYn65vzNwa2p3AD\/U9d971DS2eIt2hLVEcyEHf2E9QUtY23+qq659C6KAzz\/aZTg7By47gc9Z9N6p7VpymoJTVVDzV1jjkzSDOD2Z4d60moqWWcvDzslUowWN9X6vbxM+3WqeOKbUN2L31wjdIyMjdEADjd19nR3ro0RTiHTzZMb5pHPz3HZ+S6tUzCHTdY4\/eYGjf1kD5r20\/CYLBQsPHkWu4Y47\/mquTccmsK4wuUV0Wf3b+xooiLI7QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCl6zNV9IFHGc7NPAXY7cOOfUeSqFMWnNRri61B3iKMRjpx7o\/KVeHV+RzcRq4R8Wv41KdERUOk5blMKe11Ux+5C93HHAFZei4eS05C4\/4r3P9cfJemrp+Q03U44ybLBu6yM+mV22aD2azUcPS2Fud\/TjJ9VfaBzb8R6L5v7HaiLxqpDFSTSA4LI3Oz1YCodDeFkntDftLfWVHTJUn4A\/NU6nNDMDdP5H35nE+g+So1ezvM5+FX4MSb1zIW2SOJoy6WdrR5E\/oqCGIQQRxN4RtDR4DCnNcAmiogBkmqHwKp0fcQr\/Pn+31CIiodIREQBERAEREAREQBFP2+5VsOpaq23GTaZJzqZxAAIG\/AwN+4+ioFLWDOuxTWUERZFRqW3Ut0Fvle9shwC8tw1p38Se4eYRJvYmU4w7zwa6IiguEREARcxuNCH7BrKcOBxjlW5z5roBBGQcgoQmnsfqIiEhS+ihyzblXZJ9oqeJ6cZP5lu3Wf2a01c+cFkLiO\/G71Wdo6DkdNwEjBlLnnzIHoArrSDOaet8V4Jv6G4iIqHSTOuXOda6amYefNUNAHQRg\/MhUjGCNjWN4NAAU1ffterrPRZ3R5mI8c\/kVOry0ikc1Wts5ei9l9wuG9SCKyVzycYp34PbsnHqu5Yurp+Q03U44ybLBu6yM+mVEVmSNLpctcn5MaRjMemaTLcF207zccemFtLhssPs9loosYIgZnvIyfVdySeZMUrlrivJExrICSa1QYy59RwPVuz8VTqYvf2nWVnps55MGXB4DeT+RU6mXdSM6dbbH5peyCIiodIReNPWU1UZGwTskMTtl4a7JaeorgvN7FqkpIWw8tLVShgYDjdwJ8yFKTbwUlZGMeZvQ1URFBcIvnaaHBpcNo8Bnes+\/3T6otMtU3Z5XIbGHcC4\/yyfBSll4KymoRcnsjSRc9vlmnt9PLUACV8bXPDRuyQuhQSnlZJrWkEUdDFcmvMVVTyNET28T04+f91t22uZcrfDVsGBI0EjqPSFj64Y5+ni4cGStce7ePmuPSb5Lfc6m0udtQvYJ4XEjgQPiCOHUtsZrz4HDz8nFNY0ePfUrlB0tGLjZr847pBUGXaHTs5O\/r6fNWdwfVx0Mr6GJktSAOTY87ic946O1RFiqb\/BLXQUFDTzP5UmdkjhzXbxj3hu49aVrRsji2ueMWn16eRW6drvrGx00xcHSBuxJ\/wCQ3b\/j4rTUrZJL1bZIqF1ijip3SZe6OQkNyd5yXO4fJVSpNYeh08PNyrWd1ufEsrIYnyyODWMaXOcegDiVKPluWrZ3R0shpLS04dJwdL1jt7uHXldOqKiWpraGyQyFoq3ZmwAeZnt7ifBb9JSQ0NJHS07NiKMYaFK7Kz1M5Zum4fpW\/m\/D0McaMsoH7mUu\/wA\/KuznrXrQ0VNpmimdNXSOpgcsEn3BxxgcTnO\/C2VKVzzqi9C3QOPsFIdqoe0kbTs4xw7N3iUTct3oLIV1YcIrm6FLSVcFdTtqKaVskbuBafRFP6F5lqqYScujqnDB6Oa3o8CirJYeDambsrUn1PfWlS6HT742Z2p5Gx7uOOPyx4rXt9KKK309M0Y5KNrfEDesDVn2i5Wejbvc+o2j2DI3\/HyVOpekUZ163zfhhfUIiKh0kxH9p+kOUggimpscewfxKnUvpYGpvV4r3DBdLsN3jhkn4BqqFezfBzcNrBy8W2FNa5eXWqnpme\/PUNA8j8yFSqX1CBWaos9CRkMJlcOsZz+QpX3sjivymvHC92UzGCNjWN4NAAX0iKh0kxKOU+kOEk\/uqY4Hgf4lTqY\/6if\/ADfJU6vPp6HNw\/6\/9mF51Ewp6aWYjIjYXEdwyvRctyBNrqwBkmB\/\/Eqq3N5PCbMbREGxZpKhztp9RM5xd143fHPmvLIumvcbzFboe0Da\/u708\/rTtbFbNGtqqg4bGZOaTguO0cAdpXro+ifHQzXGcHl65\/KEk\/d4j1JK1ejkzgrXNGqter\/vqUKIua4VfsNBNVcm6Tk2F2y3pWO56DaSyzAuLms+kG3ve4Na2lcSScADEi8mPGq9RNe1xNtoTkcRyjuvz9B2rHdLPq3UVNts9ma6PZJY7OGDJO\/rOSPFXtFRU9vpWU1NGGRsG4dfae1by7KXjg82lO+Usd3OfXY6ERFgemc9bRU9wpX0tVHtxPxkZI4HI3hT8sbKfX1DFC0BnsmCB0ABwHwCp3ODWlziAAMknoUxY3C56puN0aS+GNoiicNzT\/WM+PctIbM5b0nKCW7a9lqVCmLhQ19ovct4ttMKlk7dmWFoOc8Sfw5z24wqdFWMsGtlasXg0eVNJJLTRSSxcjI9gc6POdgkcMr1RFU0WxMX131ZqShu8rHOpmxuY8tjyWcRkn\/2HqtKXU1lii5Q3CJw6mZcfIb1pSxRzRujljbIxww5rhkHwXA3T1oZIJBQRbQOd4JGe7h0rTMWtTnddsZN1tYeupiy3K5ao5SktcTqWjIxJUSDBd2ePZnwSDT+obZtw2q400dPnLeUaC49\/MPxVU1rWNDWNDWjgAMAL6TnxoloV\/xsvmnJ58diVtFi1Dba4ymvpeRml252gF23145ox4EIqpFWUnJ5ZtVTGtYWfcmJwKr6QoGuGRTU+ccd+Dx6ve9AqdY1HaaiHU9bdJXRmOeMMZsk5Hu8d3+lbKmb2KURa5m+rYXy5wYwuPADK+ly3SUQ2qrlP3IHn8JVUbyeE2YegwfqaeR3vPqXHPXzW\/zVMsLRkexpqB3+dz3fiI+S3VazvMw4VYpj6BTFBmq17XzH3aeEMb380fxKnUxptu3qO+ylwLmzbO7O4bTv4QkdmyL9Z1x8\/kmU6IiodJMVH7L6RKX\/AL1Mfg7+FU6mL6fYtWWi4EEtfmA9mcjP4\/RU6vPZM5qNJTXn80gvxwDmlp3gjBX6iodJOQ6MpI6ljn1M0lPG4uZTn3QT\/Q8lRAADAGAF+orOTe5nXVCvurAXxLFHNE6KVgex4w5rhkEL7RVNDKtmnaG01T56bby5oaGvOdnrx071qoiltvcpCEYLEVhBeFVW0tDEZaqdkTB0uP8AWV7rIqtMWytuElbUxvkkkxtNLzs7sfoix1Isc0uwtfMyai61+pZn0VnYY6PGzNO\/mlw6QDvxu7MqjttvgtdCykpxzWcXEDLj1le0MENNEIoImRRt4NYMAL0VpSzotildTi+eby\/7sERFQ3CIiAIiIAiIgCIiAIiIAuC+MdJYq5rRkmB+7wXeilPDyVlHmi0Y2k3tfpqk2TnZDge\/aK2V8sYyNoYxoa0cA0YAX0knltlao8sEvBBcdFa6WgqaqogDg+rftyZdnfknd5ldiJku4ptN9AiIoJM2+2ht4t5g2hHK07UTyPdK+bGbwIJIrvHGHRkNjka7JkHST6dXctRFbmeMGfw1z863+YREVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARCELA ECORA",
    "correoContacto": "secretaria@ecora.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5699092 8356",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: -23.6541445, lng: -70.3949882)",
    "horaLlegada": "11:14",
    "horaDespacho": "14:26",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "1",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:53:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[09/06/2026 12:53:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2775', 1, 19969062, 18399, NOW(), 
				'14:26', '11:14', '12:53', 2, 'retiro maquina 
firmado por Marcela Mondaca', 1, 
				'', '','1','44810',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023983.png', 'retiro maquina', null, 'COMPLETADO','LatLng(lat: -23.6541445, lng: -70.3949882)' )
				
[09/06/2026 12:53:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200644

09/06/2026 12:53:03 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = 'EP2775' AND
				correlativo = 1;				
		
09/06/2026 12:53:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2775'
		
09/06/2026 12:53:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2775'
				   AND estado = 1
				
09/06/2026 12:53:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2775'
				  AND rutcliente = '76121841';
				
09/06/2026 12:53:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2775', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 12:53:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200644'                    
				WHERE idllamado = 12937			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ecora.cl


09/06/2026 12:53:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12937			
				
09/06/2026 12:53:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12937
            GROUP BY l.idllamado;
            

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12937
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:53:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
=========================================
FECHA: 09/06/2026 12:53:18
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-N_JK4-jSYjG+m_ofH9NIt5LNIQvSd7HW0rGROrzSiOz_78RFpDp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76318598",
    "serieinterna": "TO2820",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12931",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABnANoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA3EAABAwMCAwYEBQIHAAAAAAABAAIDBAURITEGEkETUWFxgZEUIsHRFTIzobEj4SRCQ1OCovH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBP\/EACwRAAICAQIEBAUFAAAAAAAAAAABAhEDITEEEkFRMnGR4RMiYaGxFCNCwdH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDludX8BbairABMUZc0HYnp+612asmr7TBV1AYJJW8xDG4A18yovjaYtsjadmS+omawNHXGv8AICnKWAUtJDTt2ijawegwr1UbMFJvM10S+7NyIiobhERAEREAREQBERAEREAREQBERAERYSyxwxuklkbGxoy5zjgD1QGaKEj4rttRcGUlP2sxc4N7RrPlBJAGp81NqWmtykMkZ+F2ERFBcIiIAiIgKvfx8fxVabfnLYyZnj1zr6N\/dWhVi3n4zjuvnJ+WmiEbR7D7+6s6vPSkc3D6uc+7\/GgREVDpCIiAIiIAiIgCLVPU09KznqJo4m4zl7gF7DNFUR9pDKyVhOOZjgR7hCLV0bEREJCIiALGSRkUbpJHBrGAuc4nQAblZKucVXF7mNslE3tKuswCAfyt\/vj2VormdGeXIscHJmuTiqrrpX09ktkk7hp2shAaPHTTHqFjFwzcbmRLfrjI4Zz8PEcNH09h6qftlC2222CjaebsmYLsYydyffK6HvZG3me4NHeThW568JgsDmrzO\/p0NVJR01DCIaWBkLB0aMZ8+9b1yOutuYSH19K3G+Zmj6roimimZzxSMkb3scCFR31OmLjtEzREUFgiIgC8JAGScAL1ctzeYrVVyNHMWwPIHfhpRESdJsg+DWmY3OvII+JqTvptk7f8lZlBcGxhnDVO4HPaOe4+HzEfRTqvk8TMOGVYY+vrqFpqqunooHT1MrYo27ucVout1prRRuqKh3gxg3ee4Kv0dsreJaoXC8c0dG05gpduYdCfvufJIxvV7E5MzT5IK5fjzMJJbjxhOYqfnpLU04c8jWT77bdOqtsUYiiZGCSGNDQXHJOO9Ioo4YmxRMDGMGGtaMABZqJSvRbE4sXJcpO2wiLluVfFbbfNVyuADGnlB\/zO6D3VUrNZNRVs4brxPbrVKYJC+WcYzFG3JGfHZRvx3FN3d\/hKRlugJ0fKPmx6\/QLo4Rtpjt5uFW0Pqat5l53NHMAdtfHf1CsS0bjF0kckY5MyUpSpPov9K5ScHU3auqLpUSV8zty8kD+c\/upi32yktcToqOIxscckcxd\/JXWiq5Se7N4YccNYoIiKpqEREAUFdeH5qq4i4UNYaWo5eVzsbjH\/AIp1FKbWxSeOORVIrJ4bvE+lRxDOAdwzP3C9ZwNbi7nqKmqmd1y8DP7Z\/dWVFb4kjH9Li6q\/O2QbODrG0YNI5\/i6V\/0KjLra5OGHfi9pke2IOAqIHuyHAnTfzx36q3qs8X1PxApbNAQZ6mQEg68oG2R4n00KtCUnKmZ8RixQxuUVT6V3LJG9ssbZG\/leAR5FZLCKNsMTImDDWNDWjwCzWR2LbUIi4rhcRQOgaaeaYzyCMdm3PLnqfTPspSsiUlFWztWmsh+Jop4P92NzNs7jC3IoJatUV7guY\/g7qOUFk1LK5jo3bjOu3mSum68S0NsBY13xNTsIYjk58T06eOuy1XDhSjrqt9Uyaankk\/UMbtD3+66bVw9brQMwRc0uNZZNXH7ei1bg3ZyQjnjFY1Srr7EZbrLWXWuF1vzcFv6NLjRo6ZH09+5WdEVJSbN8eKONaevcIiKpqeOcGtLnEAAZJPRVLkdxbfOckG10LsYycSu\/vp6ea7uLK2ZtNFa6TBqK93ZjXUN0z6HOPLKlbXb4rXb4qSH8rBqTu4ncrRfKr6nLP93JyfxW\/n0X9nU1oa0NaAABgAdF6iLM6giIgCIiAIiIAiIgCKNut9obRhtRITK4ZZEwZc5Q77jxBfHGK30jrfTOH68wIcR0I\/tnzV1BvUwnnhF8q1fZEjeuI6e14gixUVjzhkTdcE7Zx\/G5Wjh2yzwTSXW5O566pGoP+mD089vLZdFl4cpLR\/W1nq3D5pn75647lMKXJJVErDHOclPL02Xb3CIizOkIiIAiIgCIiAIiIAiIgKtTMFfx9UyTgYo4QImk5101\/wCzj6hWlVa5v\/BOLILm9p+Fq2djI\/OjDp9gfdWhrg5oc0ggjII6rSfRnLw+jnF72\/Y9RFD3biWhtsThHIypqdmwxuyc+ONlRJvRG85xgrk6JKqq6eigdPUytijbu5xUHHxdHWVkdPbbfUVQc8NfJ+UNGd+vnrhc9Fw\/V3icXDiIknH9OmBwGjxxt5b96s0MENNEIoImRRt2awYAV3yx+rME82TVfKvv7GxERZnUERctwnqaeifJSQdvPoGMJABJONURDdKzqRaqZ8slLE+eMRSuYC9gOeU41C2oE7Vmp1NTvqG1D4Y3TMGGyFoLgPAraiIKSCIiEhERAEREAREQBERAEREAREQGiso4K+mdT1MYfG7oeh7wq8228RWZwjtlRFV0rW4bFOcEeHTr4oispNaGOTDGbvZ90Yy27ia8AR11TFQwH8zIdSR6HXu3UrbOHLZaw10UAklGvay\/M7Ph3eiIpc21REeHhF8z1fd6kqiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES SANTA LAURA SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "RAQUEL SUAREZ ROBLES",
    "correoContacto": "raquel.suarez@santalauraspa.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56921995553",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28955\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28956\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:53",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:52",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:53:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76318598

[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76318598', 'TO2820', 1, 9291721, 0, NOW(), 
				'12:52', '12:14', '12:53', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781023998.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200645
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I895', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28955 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                
09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I896', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28955 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                
09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                
[09/06/2026 12:53:18] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I897', 1)
				
[09/06/2026 12:53:18] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28956 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:53:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                [09/06/2026 12:53:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200645', 'TOS-I898', 1)
				
[09/06/2026 12:53:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28956 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:53:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
09/06/2026 12:53:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200645'                    
				WHERE idllamado = 12931			
				TO ENVIO: micorreo@miempresa.cl, raquel.suarez@santalauraspa.cl


09/06/2026 12:53:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12931			
				
09/06/2026 12:53:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
[09/06/2026 12:53:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:24 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 12:53:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12931
            GROUP BY l.idllamado;
            

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12931
                

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:07 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:54:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12672
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO3197
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:54:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:55:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        
=========================================
FECHA: 09/06/2026 12:56:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-w8p+En9+ZUFp2ACyMzpf96TCl+ezFEGEQ1XFRSqspjTIf9tzACk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76961000",
    "serieinterna": "TO3197",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Ecora",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Oficina",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Intalacion impresora toshiba\nconexion escaner\ninstalacion printaudi\nfirmado por Marcela Mondaca",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12672",
    "observacion": "Intalacion impresora toshiba\nconexion escaner\ninstalacion printaudi\nfirmado por Marcela Mondaca",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABtAPoDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFAwQCAQf\/xABFEAABAwMCAgcEAw0HBQAAAAABAAIDBAURBiESMRNBUWFxgbEiMpHBFCOhBxUWMzU2QnJz0dLh8CU0YnSCssI3Q1Jjkv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EACwRAAICAQIEBQQCAwAAAAAAAAABAhEDITESMlFhBBNBccEikaHRM7EU4fH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAn7hfaiPU1JaaQMdxEGYkFxGQdsZHIb+aoFGWX+0NdV1YCHMh4gCf\/AJGPIKzWk0lSOXw05TUpPq69giIszqCIpmurJ5NdUVFHPJHE2LLmjkThzvtwArRjZnkyLGl3aX3KZERVNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALlVTCmpJpzjETHPOe4ZXVTutq8UtkNO1wElU4NA6+Ebk+g81aKtpGWafl43LocdC0jo7ZPWvJLqqTmc7hud\/iSqhZmnIeg09QswBmIO2\/xb\/NaambuTZXw8ODFFdgiIqG4UrScNfr+pnZ7lHFwE55uxj5n4KlqaiOkppamZ3DHE0uce4KY0OXVD7lWvHtTyg7\/AOon1WkdItnJmallhDvf2KxERZnWEREAREQBERAEREAREQBERAEREAREQBERAEREARSVTqyqo9QzwzQh1BA7o38Dd255OJVVFLHNE2WJ4ex4y1zTkEK0ouO5jjzQyNqPofa\/mmo6194rp6yPJpoHtghI\/S5nI7c4J+CrtV3Q0VsNNA4fSqs9HG0HcA8z8vErGuVvZQiwWhvvun45T1g5bk8+8\/Ba4tNTi8a3kTgtlv7vRL5LKni6Cmii2+rYG7dwwuiIsD00qCIvxzg1pc4gADJJ6kBNa2r3Q2+OhiPt1LsvAO\/A3c+HVv3FfehqforB0uN5pXOzjmBt8isGskN4bd75ICaeFggpwR2kDPdgHJ\/WVfp2LodP0Le2EO+O\/wA1vL6YUebhby+JeT0rT71+zSREWB6QREQBERAEREARFJffaq0zc5aW5ulq6aocZIZWgF2537O7YeStGPFsZZMqx05bdehWovwbjOMdy\/VU1CIse6amoLVU\/R5ekfKMFzWNzwgjOVKTexSc4wVydGwi8tvuNLdKYVFJKJGZweotPYQvUoaosmpK0EREJCIiAIiICSpqWKXWN3oalvHFUwhxHb7p8ua6fgvdKMugtl4fDSOOeB2eJm45Y58u5fVTmm+6FSuGzamnIJHXs79wVOtpSaqjgxYYT4k903+zEtOl6W2T\/SpZX1dUf+7J1d4H78rx15+la+oIebaeEvPjhx\/hVOpin+t+6JVf+mmHo3+JRFttt9C+XHGEYQiqXEv2U6IiyOwKZ1JdJKqQWO2ZkqZjibh5NZ1gnq7+5dbze6t877XZ4TLVHZ8oIxH\/AD8eWCvXYrFDZqcknpaqXeWY8z3Du9Voko6s5JyeVvHDb1fwjL1JQw2nRwoqcngEjRl3Nxzk5VHQt4KCnZjHDE0Y7NgsDXjiLJEwbl9Q0Y6\/dcqRrQxgaOQGEk\/pRONJZpJeiS\/s+kRFmdQREQBEXxLKyGJ8sjg1jGlznHqA5lAfaLy264090pBVUriYySPaGDkL1I1RCakrQUtrpnS01BCzHTPqMMPZtj1IVSpjV39+s3+Z+bVpj5kc\/i\/4Wvb+z0aavEtU2S21\/s11L7LuI7vA6\/68VvqY1XSmjkp77TBjZ6d4a8ke8DsCfTzVHDK2eCOZnuyNDh4EZUSS5kMMpJvHLdflHzVVDKSkmqX+7EwvPkMrC0nRvkhqLvUEulrnEgOHutydh4n0C9erJBHpqsOcZDWjzcFzt92ttrsVEyqq4onCBmWZy4HhB5DfrUpPh0KzlHz1xPRK\/voeKUOsGqYTGzo7fWAM4Wg8LXbDlyByB8VUAgjIOQVPTVtt1bTVFtpy8vYzpGSujw1ruo\/bjwyte1089JbKenqXtfLEwMc5vI45fYk9tdycGkmo6xeq+UfN1ucNpoXVUwJAIa1o5kn+s+SxadmqLpTmaSeKga\/djOHfh2PiOXWespqfE18slM8ZjdMS4Z57tVOnLFEU8uSSbpLoY1nffWVD6a6xwyRtYC2ojPM8sd\/LPIfavfcK+G20b6mc4a3kO09QXWoqIaWEzTyNjjHNzipB1XBfr6yprp2Q2uHPQMmIaJiOZwefeerkiXE7E5+TFQTtvr89jctWooLnUup3QSU0mOKNsu3SN33Hlj4rYUtqggR0t+oJI5XUj+FzmOyC0kY3B7dv9SpopGzRMlZnhe0OGRjYqJJVaL4ZybcJO2vXqmTeofqdUWScbF7zHnzA\/wCSp1Na2bwUNJWNID6epBBPeM+oCpGkOaHDcEZCS5URi0yzXs\/x\/o\/VMWb29aXd55hob6fuVOpix\/nhefL1SOzGfnx+\/wAMp15LrVGitVTUt96OMlvj1L1rI1V+bVb+qP8AcFWKto1ytxxya6M+dLU7I7LFUY+tqcySu7SSfhz5LZWfYPyBQ\/sG+i0FMuZkYVWOK7ExrAdPV2iiHOao37hkD5qnUxefrdaWiEblrS\/HxP8AxVOplypGeHXJkfdL7ILjHV08tRJTsla6WIAvYDuMrsok3SOxahvNROw8bwOhjIwZCfl3pGPFZbNmWKm9n+iydUQsnZA6VgleCWsLt3Ac8BdFN6etVTLVOvd1B+lyg9Gwn8W093Vttjs8VSKJJJ0WxTlOPE1X6CxNWVopbJJC1xE1SRHGACc7jPLuyttSF0fLR6rZXXWIuoh7NO4PPAw48OZ3OD6BTBWzPxM3HHXXT27lDbKdlqssEMjmsbBFmR3IDrcfVcbFd33qkkqTTGFgkLWZdniC46orhBYJeieS+pIijLN85O\/LuyvZZaP6BZ6WmIwWM9odhO5+0o+W2It+YoR2S\/4e5Zt0s7LpU0Ur5SwUkvScIbnj5bd3JaSzLzTXapETbZWR0zd+l4huezBwe9RHc1ypODtX2M3WlS11FBbIwXz1UrcMbuQ0HnjPbjn39ioYYhBBHE3lG0NHkMLJtGnI7dUOrKmofV1j9jK\/PLwyfitpTJqkkZ4oy4nkmqb9OxK61tMctFJdOkk6SFjWcIPskF3816LNpiziggqXU4qHyxteTI7iGSN8DktqvpGV9BPSSHDZmFucZweo+R3XzbKL73W+Gk6Z8wiGA9\/NTxvhqyn+PHz3Nx0a\/J2hp4KZnBBDHE3\/AMWNDR9i6IizOtKtjKvVofcXU9RTyMjqqV\/FG92SOXLs546jyWe6o1i0ljaOjdh20gI3G\/8Ai8OpUqK6lSowlgUnabV9CZZp24XWQSX+s42NOWwRHDeX9d\/etiey22pp2U8tHGYmAhrWjh4c4zjHgF7kUObZMcEIp6XfXU8dutVHaoHwUkZax7uJwLi7JxjrXsRFDd7msYqKpIm9dfkBv7dvoVQQ\/iI\/1R6LA1y3On89kzT6rfpyHU0ThuCwEfBWfIjnh\/PP2XydFMWP88Lz5eqp1gW+gqqbV1wqDERSzxgtk6i72dvVI7MnMm5Qa6\/DN9ZepY3S6erGtGTwZx2gEE+i1FzmibPBJC\/3ZGlp8CMKqdOzWceKDj1M\/Tcom07RObyEQb8NvktRTWi5nx0lVbJwWy0cp2Ixsf5g\/EKlUzVSZn4eXFii+xMV3\/US2\/5Y+kip1M3QdFru1TkHD4nMB7\/a\/iVMpnsvYrg5p+\/wgvJNaqCoq21U1LHJM3k54zjy5L1oqXR0OKlugiIhIXCsoqevgMFVE2WM74cOR7V3RCGk1TMSi0na6GtFXG2R72nLWyODgDgjs78rbRFLbe5WGOEFUVQREUFwiIgCIiAIiIAiIgCIiAIiIDC1jn8G58DJDmHln9ILTtn5KpP2DP8AaF+19DBcqN9JUgmN+M4ODsc\/JdaeCOlp46eIERxNDWgnOAOStf00YqDWVz9KOiIiqbBERAT14s9fHXG7WaUMqcYkiOMSD58hz9Vvs4+BvSY48Di4eWe5fSKzk2jOONQk2vU5SU1PNLHNJDG+SI5Y9zQS3wPUuqIql6QREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "CONSTRUCTORA ECORA S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARCELA",
    "correoContacto": "secretaria@ecora.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56990928356",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"28958\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:56",
    "ubicacionGPS": "LatLng(lat: -23.6541427, lng: -70.3949893)",
    "horaLlegada": "11:14",
    "horaDespacho": "12:53",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76961000

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76961000', 'TO3197', 1, 19969062, 0, NOW(), 
				'12:53', '11:14', '12:56', 1, 'Intalacion impresora toshiba
conexion escaner
instalacion printaudi
firmado por Marcela Mondaca', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781024161.png', 'Intalacion impresora toshiba
conexion escaner
instalacion printaudi
firmado por Marcela Mondaca', null, 'COMPLETADO','LatLng(lat: -23.6541427, lng: -70.3949893)' )
				
[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200646

09/06/2026 12:56:01 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76961000'
				   AND serieintmaquina = 'TO3197'
		
09/06/2026 12:56:01 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'TO3197'
				   AND estado = 1
				
09/06/2026 12:56:01 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76961000', 'TO3197', 1, 1, now(), 'Ecora', 'ANTOFAGASTA', 'Oficina');
				
09/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I895

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I895', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I895'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I896

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I896', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I896'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I897

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I897', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I897'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                
=========================================
FECHA: 09/06/2026 12:56:01
listaInsumosUsadosConsolidado===

idReport:200646

idInventario:TOS-I898

idControl:28958

cantidadAsignada:1

cantidadUsada:1

[09/06/2026 12:56:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200646', 'TOS-I898', 1)
				
[09/06/2026 12:56:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28958 and
				    IDproducto = 'TOS-I898'
				

09/06/2026 12:56:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
09/06/2026 12:56:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200646'                    
				WHERE idllamado = 12672			
				TO ENVIO: micorreo@miempresa.cl, secretaria@ecora.cl


09/06/2026 12:56:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12672			
				
09/06/2026 12:56:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:02 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 12:56:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
09/06/2026 12:56:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12672
LIMIT 1;
        

09/06/2026 12:56:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12672
                

09/06/2026 13:04:41 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 13:04:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:04:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:04:41 - INPUT: {"rutTecnico":"95585912"}
[09/06/2026 13:04:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:04:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 13:04:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12941
            GROUP BY l.idllamado;
            

09/06/2026 13:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                

09/06/2026 13:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12941
                
[09/06/2026 13:12:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:12:20 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 13:12:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:12:20 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 13:12:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:34 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:40 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:12:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:12:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:12:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:10 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:13:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12947
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WFC5891
            [SerieInternaMaquina] => EP3136
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:15:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:15:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                
=========================================
FECHA: 09/06/2026 13:16:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5X-UVY7H_GYtRQjXKRI34G3t6E+.RWfoy26RW_d+d5p1ILUgGdO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3136",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "5602",
    "contadorColor": "2254",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\najustes",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12947",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC8AN8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMCAgcGAwUHAwUAAAABAAIDBAURBiESMRNBUWFxgZEUIjKhscEVQtEWIyTh8AczNFJicpI1gvFTdLLC0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMFBwQDAQEAAAAAAAABAgMRITFBBBITIlEyYXGBobHRkcHh8BQjQjPx\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQAREQAUWquNJRzQQ1EzY31DuGMHrK+3CvgttFJV1DsMjHLrceoDvKoLDQT3au\/aG5j3jtTRHkxvUfrj17E6jhdkKlRqShDN+iNQiIkLhERABERABERABERABERABUOj7hVXK0SS1cple2dzQ4gA4wD9yr5ZjQP\/Q5v\/cu\/wDi1OlyszzbVaC8fsadERIaAiIgAiIgAiIgAiIgAvMkjIo3SSODWMBc5xOwA5lellr7VT3m6s0\/ROIjBDqx4xs3IPy+pATRjdkqtThxvrp4nGFkmr7wKmRrm2mkOGNO3Su\/r5bda1zWhrQ1oAAGAB1LlSUkNDSR0tOzgijGGhdkSlfLI5RpbivLFvMIiJSwREQAREQAREQARfHODWlziAAMknqWYrdRVVzqjbtPx9K\/OJKk\/C0dx+\/omjFyJVKsaax+hdXO8UNpjD6uYNJHusG7neAVN+2sbgHRWurewjIcBzUi3aTo6Z\/tNc51dVHdz5jkZ8Dz81fAADAGAE3Iu8lavPG+76lXQ3+judvnqaV5DoWkuY\/YtwOfh3qDoaPg0\/xf+pM530H2VXq+jbaKltfRN6P2xkkU4A905H1IJ9MrQaVi6HTdG3b3ml23eSfumkkoXWpGnOcto3Z5xT9bFuiIonoBERABERABERABEXKpqI6SmlqZncMcTS5x7gg43ZXZW6ivX4PQjogH1Ux4YWc9+3HcvOm7KLTQ8UwDqub3pXnc+Ge76qvsME17ur7\/AFjSImEtpGHkBuM+X1z2LUqkuVbqM1JcWXFeWnz5+wREUzUEREAEREAEREAFzqKiKlgfPPII42DLnO5BfKmpipKd9RO7hjjGXHGVlGNrNZ1TZJWvprTE7Zud5SP68AnjG+LyIVau5yxV5PJfuh6d7ZrGpcI3yUtpiOOIfFMf69FpaGgprbTNp6WIRsb6k9pPWusMMdPCyGFgZGwYa1o2AXREpXwWQUqKi96WMnqEREhcy+vZWts0MZGXPnBHdgH9VoKBrWW6mY0Ya2JoA7BgLEa7q+nusVK3JFNHl2\/Iu3+mFuaMYooB2Rt+irJWgjDRnvbTU7rI7IiKRuCIiACIiACIiACyl9kffrzFYKd5bFEekqXgcsD+ePEjsVxf7u2z2x8\/OV\/uRD\/Vjn4BR9L2h1tt5lqWYrKgl8pPMDqH38SqR5VvGWt\/ZJUllm\/Dp5lvDDHTwshhYGRsGGtaNgF0RFM1ZBERABERABeI5Y5gXRPa8A4JacjKzF2rai+3YWS2zFkDP8VOzO3aP65k9yv7bbae1UbaWmB4AckuOS49pTONliQhVc5tRWC17yWvMkjIo3SSODWMBc5xOwA5lellLjU1Oprm+z0LuCihI9pnG\/F3eo88dgRGNxqtXhrDFvJHLM2s684L4bTTP36jK7+vQHvWtiijhibFEwMYwYa1owAFzo6OCgpI6WmZwRxjAH3K7rspXwWQtGluc0sZPMIiJC4XiWVkMT5ZHBrGNLnOPUBzK9rO6wuD4bey3U44qmudwNaOfDnf1OB5lNFXdidWoqcHJmUqY33CA18gAkuFdwsxzDRnI9XD\/iv0wAAYAwAsdW0Tae7aetDTxez\/ALx\/CPiOck47MtPzWyVKjukZNjhuuV+762u\/cIiKJvCIiACIiAC+OcGtLnEAAZJPUvqzuq7jII4rNSjiqa73djjhaTj57jwBTRW87E6tRU4OTIlK12p9RvrJDxW6gdwwjbDnbfI4z6LWqJbLfDa6COjgyWsG7jzcTzJUtEnd4ZCUabhG8s3iwiIlLhEXlzmsYXuOGtGSewIA9Km1Nc5bfQMhpCfbKt4ihA595+3iQrWGaOohZNC8PjeMtc07ELOWwi\/amnuhPFS0X7qn7C7rd9T5jsTxWN3oZ60nZQi8ZfrZaWC0ts9tbCd5pPfmcTnLiNx4BWaKtvt4istvNQ9vHI48MbM83fouYyZTkow6JFfqW5zOkZZLeCayqG7g7HA3r38AfJWdntUNot7KeJo48AyPH53dZVfpqyy0cb6+4Djr6g8TnOOSxp6vH\/wr9dk0luolRg5PizzeXcvkIiJDSEREAfHODWlziAAMknqWWssZvt\/nvkrT0EJ6OlBzjA2zy7ye4lfdQ1s92rhp63kBzt6iXOzR2fTPkFoaKjgt1FHTQNDI424zjGe0nvVOzHvZkb41S3+Y+\/4M\/Tfx39oFRJzZRwcLT2HAGO74nLULL6NBqZbnc3D\/ABNRhpx1bnb\/AJD0WoRUzt0G2XGG91bYREUzSEREAEREAcqmojpKaWpmdwxxNLnHuCzmmqeS6V8+oasDMjiynBGOFo2yN\/EeqajqH3W6QadpnEB5D6l4Pwt549MH0WjpqeOlpo6eFvDHG0NaO4KnZj3syf8AWr3R9\/wdURFM1hERAEK8XH8Ktc1d0XS9Fw+5xcOcuA54PaqrUV2A0k2oDeB1dG1obxcuIZO\/XtletbP4dOSDOOORg5898\/ZVLc3S6WK2YPR0lLHLKM9fCDgjyA\/7laEVZM8\/aKst901qkvNv4LWukGn9GNiBDZREImgjm93P6uPkpmmqAW6xU8RaBI8dJJjrJ3+mB5Ks1OPb73abXza55kkbzyPDwDlqEsny+JWlFOq7ZRSS+\/2PL3tjjdI9wa1oJcT1BZS2RO1Nfn3WoZ\/BUp4Kdjm7P3OD9z5di76oq56yohsFFvJU4M7gD7jMj+ZP81b2f2KKhbSUMzJWUv7txafzdZPiclC5Y31ZyTVWru6L1f4J6IimbAiIgAqS\/wB99gaKKjaZrhOOGNjd+HPWV8vWoWUZNFQD2m4PPC2NozwHtP6L1YbD+H8VZWP6e4TbySHfhz1BUSSV5GWdRzfDp+b6fk9adsgtFETNh9XMeKWTmfDK66jrPYrBVzA4cWcDfF233z5KzWV1rO2U0FtdKI2zy8UjnO4Q1o2yT5k+SI3lPEKtqNBqPgWumaP2KwUsZBD3t6R2e12\/0wrVeWcHA3o8cGBw8PLHcvSRu7uXhFQiorQIiLg4REQAUO63CO122ark\/IPdH+Zx5D1UxZS9B2oNQwWeMn2alIkqSM4J7M9uNvEnsTQV3iRr1HCHLm8F4krSlvkEMl4q8GqriX5xu1hOceB2PhhaFfGtDWhrQAAMADqX1ck7u41KmqcFFBERcKBERAGT\/tAlxbaWH\/PMXegI+6+6JpxMKu6Pbh0rxEzbGGgDOO7l\/wAVE1+50lVQQNbl2Hkd5JA+y1VpoGWy2QUjQMsaOMgc3dZ9Vdu1NLqebCLntkpaK3t\/6UdF\/H69rJ8ZZRxcDT2HAH3cry6XCK126WrlOzB7o55J2AVJoz9+bnXEkmepxnPPGT\/9lzup\/aTUEdpiOaSjJfUuBxl3LHLmOXmVxq8rPJDQqONHeXak3bzZXATW+w1F3mdxV93PBGAN2tcSTjxH2WqsNqZaLXFT8I6UjilcOtx7+7l5KmqIW3fW0VK4g01uiD+jDcDi229S3yC1a5OWFhtmppScumC+782EXKoqaelj6Somjib2vcAs\/Wat9ok9lsVM+tnP5ywhjfv64CRRbyNNStCn2n8l\/VVdPRQOnqZWxRt5ucVmZ7tc9RyPpLLG6npAcSVb9iR3dn18F1pdL1FfM2s1BUmokxtA04azzH0HzWkiijgibFCxscbBhrWjAATcscsWRtVrZ8sfV\/BW2fT1FZ28UbelqD8U7x7x8OxWqLnNNHTwvmmeGRsGXOcdgEjbbxNEYxpxtFWQnnipoHzzPDI4xxOceoL8xvF1N3vvtUcJewEMiicCeIA7AjvPUO1SNS6imu8oiiDo6Npyxp26T\/UV6ZQstFhZXSDjrq8cFMzHwNPN2O3B27MhaacNzF5s8faa\/He7DsrFv99C50RLW1UtXPUVDpI2gMDS7YHJOw7P1WvVfYrb+FWiClO8gHFIc\/mO5\/TyUltbSvqTTMqI3TNzlgcCRjH6qE3vSbR6ezxdOlGMnid0REhoCIiAK++XRlotctUd3\/DG3PNx5fc+Sh6UthorX7RM3+Jqz0shI3APIffxJVdXA6j1XHQjDqK3nM2\/xO6x37gN9VrVR8sbdTLD+2q56LBfd\/YIvD5Y4\/jka3bO5wo8l1t0QJkr6ZuO2Vv6pLM0OSWbJaKqk1NZYzh1wiP+3LvoosutbJH8M0kv+yI\/fC7uSehN7RSWcl9S\/RZf9uKeXakttXOc7DAH0yvv7R3ufam07M3PwmUnHjyC7w5Cfy6Wjv4Jny5tFXrq2wYBbBEZHHng+8R9B6q1vl5prTRvMsuJnsd0TBzJxt4b9axbLnd319bfWRwsdGBE\/pCMM5bNBPP3fmVzr6K63S1v1BXTMLGhrWtIw4t4sbADGMn6q3DxV2YP5TUZuCd3d+WRc2evZZNEGqy0TTPeYhndzs8Ocd2PQKXYHW\/T9rc+vrYWVU7uOYF4Lx2DAyds58ys7puyvv8AK5lVNMKSmbgcLuTj1DII6t\/Ja6n0hZKcg+ymVw65Hk\/LkuT3VdMbZ1VmozilZKyv6szdu1FDSXu51TIJat1TJiERjGW8R59fLHUrb27VV0y2loWW+MnHHNzG3fv6NXzTDY6TUV6owAwmQPYxrcAMDncv+TVqks5JPBFdnpTnDGdsXgvHqZqn0dFM5s14rJ66brBeQ3w7fmFfUlHTUMIhpYGQsHU0Yz49q7opuTeZsp0adPsoIijV1fTW2mdUVUojY31J7AOtLmUbSV2dZpo6eF80zwyNgy5zjsAsZca99+ZLVzl8FlpTsM4dUO6gP62XeOnuOr52z1fFS2prsxxDYyd\/8\/RWl4sNHUw0zpJDDR0LXOdCz4XNAzju5c\/\/ACrRtB45mCo514txXL7\/AI9zER0st4u1NGW9D7S7DI2g4jjHLHkD6Z61e3modTarhc+hmqGUkTfZoGD4ufvE7nYjv5KbpGjNTUVN7lbjpnGOnBGOFg229A3yK1KadS0rEtn2Vyp717Nu\/wBMvkyrWamvjiJXi1UpOC1o98j6\/RRaG1U1t1xTU1NxcMNOXOLjkucWkZ+YW0VGLZVftibjwAUwp+Hi4hknljHNIp5rIvU2ezi8W7rH9yLiaaKnidNNI2ONoy5zjgBUFVrW3sd0dDFNWynkGNLQT4nf5K\/qIIqqB8E7A+OQYc09YXimoqWjbw01PHCOxjQEicVmaKiqt2g0l6meF21TWD+Gs0cDe2Y4I9SPooV3m1Rb6F1ZV3KCJmQ1scYHE4nqHu9mevqW1WTrHHUGr4qJhzSW\/wB+Ug7F3X88DyKpCSbywMtenKMbb7beCxt7HC2aSuDqRspvE9L04D3xx53J7SHYKmfsRBJvUXOslJ5niG\/rladErqSKx2Oila1\/qZpmhLQ3nJVP363j7BfanTWnLXTGpq4XdGwjJdI88z2DmtIstqNxu96o7FG3iY09NOc4xtt6Ak468hdjKUnixatGjSheMFfTxLOm0\/YzE2WGghcx4y0uBOR5qdHb6KEgxUcDCBgFsTR9l3a0NaGtAAAwAOpfVNyb1NMacI5JHwAAYAwAoV5rDb7PVVQOHMjPD\/uOw+ZCnLI6prDdbhT6epCC90gdK\/mGnB28huU0FdibRU4dNtZvBeJT6YtMt5lY2UYoaWTjeN\/3jj1egGe7xV7ra5Q01qFsZjpZ+E8IHwsBzn1GPVXcENLYrRwjDYaaPL3Y3dgbnxKwtfTT3S2VeoqrYvkDIWDYBoIGft6qye\/O7yPPnB0KHDjjJrHw\/cDa6dpYqWw0bYgQJImyOyc5c4AlWazmkbw2ooWW6odwVVO3hDT+ZgxgjyIWjUJpqTuejQlGVKLiZjUEc1pvEGoIIzJE1vR1DG7bbjJ+XmAtBR1kFfSR1VM\/jjkGQfsV1c1r2Fj2hzXDBBGQQszNp242l7p9PVXCw7uppDs479Z2PPu5c02ElZ5k2p0pOUVeLzWt+41CLMG7aqzhtlhPDsTnAJ7Rk8k\/DtRXrDbnUsoKf80VP8TvPJ+vkubnVnf5F8Ixbfhb1ZJu2qIKOX2OhZ7ZWuOBGzcA95H0HyUah03U3CpbcNQS9NJzZTZ91ncf0HnlXFtstBamYpIA12MGR27j5qeu7yWETioym96q792n5PjWhrQ1oAAGAB1LN6vrJJGU9lpT\/EVrwHdzc9fifkCtBU1EdJTS1MzuGOJpc49wWd0tTzV9VUX+saRJOSyBpJw1vXju6vIohhzPQK7crUo6+2vwaCjpY6KjipYh7kTQ0LuiKZpSSVkEREHQiIgCvvty\/CrRPVDeQDhjGPzHYfr5KFpK2G32kTTA+0VZ6WQnnj8o9N\/ElQ7k037VUNtwHUtEOkn6wT2cvAc+3sWpVHyxt1MsP7KrnpHBeOvwERFM1HiWVkMT5ZHBrGNLnOPUBzKzukWOqn114k+KrlIb3NHd5j0XbWVYaexmBgJkqniMADJ7T9MeatbZRtt9tp6Rox0TAD3nrPrlUyh4mZ89dLSK9X+CUiKFdbrTWijdUVDu5jBzeewJEr4IvKSirvIg6mvrbNQYjINTNlsbc\/COt3kqvQ9qe1kt1qGnjl92Iu5kcy7z+x7VR0tNV6vv0ksh6Nh3kc3cRt5AD+u0r9HZE2CnENO1rGsbwsbjYditLkju6s8+jfaKvFfZWRmdQyy3u6wWGkOWNIkqnjB4RkfT7hStWU8cGk5ooIwyOMsAa3YAcQUjT9kdao5pqmUTVlS7ilkHLmTt65XbUNP7VYK2Lr6IuHi33vsl3kpJLJFOHJ05zl2pJ+XRHChtFHVNtl0IcJoqZnCWnAd7u2fVXKqdL1HtOnKNx5tZ0Z\/7Tj6AK2SSvezNFFR3FJa4hERKWCIiACIqbUl6\/CqMRwDjrKg8ETBuR\/qx\/W66k27ISc404uUsitv9RLe7tHYKMno2EPq3jGw2+mfUhaeGGOnhZDCwMjYMNa0bAKr07ZBaKImbD6uY8UsnM+GVcJpNZLIlRhLGpPN+i6BERIaAiIgAod2uDLXbJqx+CWN91p\/M48h6qruUepKWukq6CaOqpzgimeAC0d3Lv61nrxfPxeso6O5QvoYYZM1LCCTnt5Z5fXrVY07sxVtqUItWs9L5fU0OkKB0NtNfUAmprXGRznYyQTt68\/NaBQaa72uoYPZ62nIAwGh4BHkpjHskbxMcHDtBykk23dl6KjGCjF3PSL4SAMk4AUeW40MBImrKeMj\/ADytH3S2KtpZlDqUe0agstI7+7Mpe4duCP0PqtOsTqW80JuNFXUNVFNNSHdgDiHDI6+XapDdS3y6RgWyzmMP2EzyXNHeCQArODcUYIbRTjUnjdvpjoX12vNJZqfpal+Xke5G34n+H6rDiG6ayujpsBkTDw5PwRN7B2n+tloKTR5qJ\/bL5VOq53c2AkNHdnn6YWkhhip4mxQxtjY0YDWjACFKMMsWdlSqbQ\/7MI9NfMjWq1U1oo209O3ve883ntKmoik3fFm2MVFWWQXxwDmlp3BGCvqLgxltJSewVNbZJyWywyl8YdgcTTj7YPmtSs5qe2z9LT3mgbmppDl7QPiYN\/5eBVtarrTXejbUU7u57DzYewqk8eZGWg+G3RemXevwTURFM1BEVDdtUQUcvsdCz2ytccCNm4B7yPoPkuqLeQlSpGmryZKvd8p7LTBzx0k79o4Qd3foFAsVnqpKx94vDWuqpN4mEf3Q8Orw6l6s1hlNX+L3d3S1r92sPwxfzHy8VoU7airIhGEqslOpglkvu+\/2CIimagiIgAiIgCPX1sVvoZqub4Im8WO09Q8zgKh0tbm1dFPcrhEyaSueXESMyMAnqPUr2voKe50ppqphdG4gkA4OxXaKJkMTIo2hrGNDWtHUByCdO0bIhKm5VU3kl6sqJ9I2Scg+ydGQMZjeR8uSiP0HaXOyJapg7A9v3atKiFOS1B7NRecUZkaCtIO81WfF7f8A8rvFouyRgB0Ekve+U\/bCv0RxJdTi2Wiv8og01ltlGQYKGBjhydwAu9TupyIlbbzLRjGKslYIiLgwREQAREQAWerdPVNNWvuFjnbTTv8Ajid8D+3bHWtCi6pNZE6lONRYmY\/HdQUQ6OrsL6hw246cnB79gU\/aW8y5ZFpqoa8\/CZC7hB78tH1WnRNvR6EuDUyVR28F8GW\/D9T3Yj26tZQwOI4oodnY6xt9yri1WOhs8XDTRZkPxSv3e7z6vAKxRDm3gNChCL3s31YRESFwiIgAiIgAiIgD\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:17",
    "ubicacionGPS": "LatLng(lat: -23.100618, lng: -70.4525371)",
    "horaLlegada": "12:46",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 13:16:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 13:16:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3136', 1, 21773342, 5602, NOW(), 
				'08:00', '12:46', '13:17', 3, 'Mantenimiento
ajustes', -1, 
				'', '','1','2254',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781025405.png', '', null, 'COMPLETADO','LatLng(lat: -23.100618, lng: -70.4525371)' )
				
[09/06/2026 13:16:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200647

09/06/2026 13:16:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200647'                    
				WHERE idllamado = 12947			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 13:16:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12947			
				
09/06/2026 13:16:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 13:16:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

[09/06/2026 13:16:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:16:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12947
            GROUP BY l.idllamado;
            

09/06/2026 13:16:48 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:16:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:16:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:16:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12947
                

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:33 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:33 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:37 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

09/06/2026 13:17:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

09/06/2026 13:17:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:39 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

09/06/2026 13:17:42 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:17:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

[09/06/2026 13:17:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:52 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:17:52 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:17:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:18:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:18:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:21 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:18:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:18:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:18:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
[09/06/2026 13:31:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:31:07 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 13:31:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:31:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 13:31:10 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:31:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:15 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 13:31:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:20 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 13:31:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

[09/06/2026 13:31:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:31:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12948
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3135
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:31:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:34:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:34:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:36:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:36:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:36:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:36:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:36:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:36:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:00 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 13:38:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 13:38:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 13:38:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 13:38:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 13:38:06 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:08 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 13:38:11 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:13 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 13:38:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 13:38:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 13:38:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 13:38:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 13:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                
[09/06/2026 14:22:31] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[09/06/2026 14:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
[09/06/2026 14:22:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 14:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:50 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:22:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:52 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:22:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:22:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:22:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:22:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:24:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:24:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:24:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:53 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:33:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:33:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 14:34:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:34:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:34:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:01 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 14:53:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 14:53:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 04/06/2026
        )

)
[09/06/2026 14:53:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:53:04 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:12 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:14 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:53:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:53:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:53:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:23 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:53:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:53:41 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:53:44 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:53:44] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:53:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:54:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:34 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:54:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:54:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12940
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:54:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:55:05
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-T7wUNJZEbeHG+qj9LHr5bx44u4.uFta2DIH6UINb5bgU3ODqG7f
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2757",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12940",
    "observacion": "•Llamado duplicado",
    "firma": "",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MALL ANGAMOS",
    "correoContacto": "dsprintmallangamos@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DIA-I377\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"DIA-I378\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"GEN-I1022\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I994\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"GEN-I1017\",\"id_control\":\"28960\",\"cantidad_usada\":4,\"cantidad_asignada\":4},{\"id_inventario\":\"DIA-I382\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"DIA-I383\",\"id_control\":\"28960\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"SEL-I392\",\"id_control\":\"28960\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"MC-I957\",\"id_control\":\"28960\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-R1071\",\"id_control\":\"28961\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:55",
    "ubicacionGPS": "LatLng(lat: -23.6618402, lng: -70.4000079)",
    "horaLlegada": "14:53",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:55:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2757', 1, 24456550, 0, NOW(), 
				'08:00', '14:53', '14:55', 10, '•Entrega insumos', -1, 
				'', '','1','0',
				'0',1,'', '•Llamado duplicado', null, 'COMPLETADO','LatLng(lat: -23.6618402, lng: -70.4000079)' )
				
[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200648
[09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I377', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I377'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I377';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I378', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I378'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I378';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I1022', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I1022'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'GEN-I1022';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I994', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I994'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'GEN-I994';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'GEN-I1017', 4)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'GEN-I1017'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'GEN-I1017';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I382', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I382'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I382';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'DIA-I383', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'DIA-I383'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'DIA-I383';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'SEL-I392', 3)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'SEL-I392'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'SEL-I392';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'MC-I957', 2)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28960 and
				    IDproducto = 'MC-I957'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'MC-I957';
                [09/06/2026 14:55:05] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200648', 'EPS-R1071', 1)
				
[09/06/2026 14:55:05] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28961 and
				    IDproducto = 'EPS-R1071'
				

09/06/2026 14:55:05 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1071';
                
09/06/2026 14:55:05 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200648'                    
				WHERE idllamado = 12940			
				TO ENVIO: dsprintmallangamos@gmail.com, dsprintmallangamos@gmail.com


09/06/2026 14:55:06 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12940			
				
09/06/2026 14:55:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:08 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:08 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

[09/06/2026 14:55:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12940
            GROUP BY l.idllamado;
            

09/06/2026 14:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12940
                

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:39 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:55:41 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:55:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:55:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:45 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:45 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:46 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:46 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:47 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12898
            GROUP BY l.idllamado;
            

09/06/2026 14:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12898
                

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:48 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:50 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:50 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:55:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12897
            GROUP BY l.idllamado;
            

09/06/2026 14:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12897
                

09/06/2026 14:55:51 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:51 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:55:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:53 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:53 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:55:55 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:55:57 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:55:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:55:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12946
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:56:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-x5M3QMtoxXwl6gJtuZJLRgPQ5eBn_u+UaWVNtPZBQBm0XT1ozz+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12946",
    "observacion": "",
    "firma": "",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1047\",\"id_control\":\"28965\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:56",
    "ubicacionGPS": "LatLng(lat: -23.6618527, lng: -70.3999906)",
    "horaLlegada": "14:53",
    "horaDespacho": "14:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:56:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 24456550, 0, NOW(), 
				'14:55', '14:53', '14:56', 10, '•Entrega insumos', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618527, lng: -70.3999906)' )
				
[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200649
[09/06/2026 14:56:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200649', 'TOS-I1047', 1)
				
[09/06/2026 14:56:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28965 and
				    IDproducto = 'TOS-I1047'
				

09/06/2026 14:56:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1047';
                
09/06/2026 14:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200649'                    
				WHERE idllamado = 12946			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


09/06/2026 14:56:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12946			
				
09/06/2026 14:56:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12946
            GROUP BY l.idllamado;
            

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:56:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12946
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12775
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12775
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:56:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12904
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 15:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2641
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                
=========================================
FECHA: 09/06/2026 14:56:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-SlSy5JRKebi.szEeseZpRNDml-MzGlIhh_L7JdBpFpDI_96m6E_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3135",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "1080",
    "contadorColor": "3001",
    "contadorScanner": "0",
    "detalle": "Mantenimiento\nconfiguracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12948",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADUAP4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABEEAABAwMCAwUFBQUFBwUAAAABAAIDBAURBiESMUETUWGBkSIycaGxFELB0fAVFiMzUiQ0YpLhB0OissLS8TVWcnTi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAELBAMBAQAAAAAAAAECAxESITFBBBMiMlFhcYGhwdHwFCORsTNC4VLx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBEXhIAyTgBAerhTVlNWdp9nnZL2buB\/Cc4Kzl0u1Ve602eyvwwf3ipB2A6gHu+qvbVaqa0Ubaenb4veebz3lTcbLPUohVc52islv7E1ERQLwiIgCIiAIi+XvZGwvkcGNaMlzjgBAHOaxhe44a0ZJ7gqTSldWXGhqKqqkL2vnIiBAyG4Hd+ua+r9eqKKzVjYa6ndOYywMZKC7J25A52yvrSbIYtPUzI5GPdwl7+FwOCSTvj08lZa0GzK54q6inomy5REVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAsndrjUagrzZbU\/+Bj+0VA5DfceI6eJ8F1u12qbrXGyWd2HbioqByYOoB\/Xcrq1WqmtFG2np2+L3nm895Vi5mb1Mkm67wR6O76+xep7bLXS2mkbT0zMAe84+8895KmIig3fU1Rioqy0CIi4dCIiALhV1lNQwmaqnZCwdXHGfh3qrvOpIqB4pKNn2uuceEQs34T44+ih0emJrg9tbf53zzHcQB2Gs8P9BspqOV5GadZt4Kau\/JHzLqG53iYw6fpf4TTh1VKNvny+Z8F6zSNRWuEl5us1Qd\/YjOAPM\/ktLFFHBE2KFjY42DDWtGAAvpzg1pc4gADJJ6LuO3RyOfTqWdV3\/X4MPe7DbWXa32qggMUs54pX8bnYZ8CT3OPkrOr0g2nk+12Ooko6hg9lnES13hk7jPjkLzTzDdb5W353F2RPY04PUDG\/pj1K06lKclZXKaPD06ic8Ory2yXy5T6dvTrtTSMnZ2dVTnglbyye\/HTfPorhZeuaLTrWjqoxiO4DspGg4y7YZ\/5f0VqFCaWq3NFCUmnGWqy9giIoGgIiIAiIgCIiAIiIAiIgCIiALO6gvMrpv2LawX1sw4XuBx2QPPfvx6KRqO+\/sinZFA3tKyfaJgGceJH0HVNP2M21j6uqd2tfUbyvO\/DnfhHnzVkVZYmZaknUlyUPF9X+skWOzQ2WgEEftSO9qWT+p35dyskRQbbd2aIxUIqMdAiIuEgiLwkAZJwAgPVmblequ51htVhcC4fzqoH2WDwP4+i43K71N\/qTabIT2XKoqegHcD3fVX9qtVNaKNtPTt8XvPN57yrLKOb1Mjm67wwfN3fovcjWbT9LaGceO2qnZ453Dc5547lbIig227s0QhGCwxVkFQarrZW0kVrpd6mvd2YHc3qfw+Ge5XVTUR0lNLUzO4Y4mlzj4BZzTdLLc7jNqKrGDISynYR7reWR5ZHqpQVuc9imvJu1KOr8luaCgoorfQw0kPuRN4c956nzOSpCIoGhJJWRmNZgxG2VgG8NUN\/jg\/8AStOsxrv2rVTRcuOpG\/d7LvzWnU5dFGen\/NPwCIigaQiIgCIiAIiIAiIgCIiAKHdbnT2ihdVVBOAcNaObndAFJlljghfNK8MjYC5zjyAWTpYX6tu7qypa\/wDZlMcQMIwJD+ufkFOMb5vQorVHG0YdJ6e5K07ap6md17uzS6qlOYWOG0behA6eHd5rSoi5KWJ3J0qapxsgiIolgREQBZa93Kou1f8AsC1Ow7P9pm6NA5j8\/RSdS3qajMVut4L66p2bjmwHbPxP4FTLFZIbLScAPHUSYM0n9R7h4KxLCsTMlSTqy5KOi1foSLXbKe00TKanbgDdzurz1JUribx8HEOLGcZ3wqy\/XuOz0zeECSplOIou\/wAcDoo9gtNZDNJdLpM59bO3hLM7Mb3bbfkuWusTLFNRkqUFpr2F6iLOaiu0skgslsy+snGHuaf5beu\/fj0C5GOJ2J1KipxxMi3ed+pru2y0cmKWE8dRM0Z3HQfrn8Fqooo4IWQxMDI2ANa0cgFCstpis9uZTMw5\/OSTG73frkrBdk9loV0abV5z6T8uwIiKBoMxrUF8duixs+qHLn+t1p1ltSYqtTWai2Ia\/tHDvGR\/2lalWS6KM1LOrUfd+giIqzSEREAREQBERAEREARFS6kvDrdSspqUF1bVnghaOYztn57eK6k27IhUmqcXJlfeKmTUF1bYqOQtp4zmrlDcgEHl6j1+C0lLTRUdLHTQN4Y4mhrQoGn7M20UOH+1UzYdO\/Ocu7vLKtVKTWi0KqMHnUn0n5LqCLPazqZYrVFTwPLJamdrBgkbc+fxwr2CMw08cROSxgbn4BcayuWKpebh1HRERRLAolzuENroJKyfJawbNHNxPIBS1kqk\/vRqRlKwF1Bb3ZlOBh7snb4HGPVSirvPQorVHCNo6vJfOwlaUtr+CS81g4qqtPG3I9xp7vj9MK+qaiOkppamZ3DHE0ucfALo1oa0NaAABgAdFltSzPu12pdP05w0uElQ4fdHP6b+YUunLMg7cPSss3+2xYaaW93V+oKwODGktpGHGA3cfL65WqUWWaitFCHSPjpqeIYHQDwA6lZuS53bU8joLSx1HQg4fUv2ce\/H5DzIylnN32OKUaEcOsn+WyZeb9K+p\/ZNmHa1smzpG+7EOu\/f9FLsVhis0JcXmWqkH8WQnme4frddbNY6Sy0\/ZwDikd78rh7TvyHgrJccla0SVOlJy5Sprt2fOsIiKBpCIviWWOCJ0sz2xxsGXOccABBoZlv9r\/2iuPMUdPtv3j\/9rUr82jvNdBX3G60UQMckuDK5uzW8Ww36nZfoVFNLUUUM00YjkkYHOYDkAnxVtSLVjDwlWM8SWt2zuiIqjcEREAREQBERAEREBwrayGgo5aqd3DHGMk\/QeqzunaKa6V0moa9o4pNoIyNmgbcQ9MepXxdnu1Hf47RA8\/ZKU8VUQThxB3b8RyHiT3LUxRMhiZFG0NYxoa1o6AcgrOjHtZkX3ql\/6x83\/h9rhW1TKGimqpBlsLC8gdcdF3VBrSr+z6fkjDsOneGDbmOZ+ijFXaRdWngpuXUVVDcHap1NSTdgYoaJhkLeLi9rO2\/+X09NosnoGj7O31FY4DimfwNPg3\/U\/JaxSqWxWWxTwak6eOWsswiLlPVU9M3iqJ44h3yPDfqqzU2lqV2pLmbZaXuiJ+0THsoQOfEevkPnhfWnrYLXaYoi0CZ445SBzcfIcllLrf6ar1PHM5jqmkowRExgBEjup36Z+QCtft2qrscUtIy3Qkj25R7WMePPyCucGopHnx4iEqrlm7ZJLzZoLjcILZRyVM7wAxpIaTgvPcPFYew3GvfVVdRR0JqrhVO9qV20cTefzPTPQLy6WLF5pbe6tkrK2pdxSyO2DG\/PuJ8hst\/BTw0sLYYI2xxtGA1owAu82Eeu4SqcRUu+ao+OZQQaXlrZhVX6rdWSD3YmkhjP15LQxxsijbHGxrGNGGtaMADwC+kVTk3qbadKFPor3CIiiWBEXjnBrS5xAAGST0QHGsq4KClkqah4ZHGMk\/gPFYyt+3aioam6VUj6a3QNc6CBvOQgbH16\/EBS3CXWF1c3i4LTRyY2P813f5j0B8VK1pNHR6dZSRgMbK9rGsaNg1u\/4BXxWFpbnnVpcrCU30F5v2M9a6YXRlus0ZzGHuqaotO3cOXXAA+Ll+itaGtDWgAAYAHRZ7RtpdQW01U7SJ6nBwRu1g5D8fRaJRqyu7It4Ok4U8T1fxHy97Y43SPcGtaCXE9AqexX917qKsMpuGnhdhkufeB5Ajv2J9FVayuz3vZZaM8UspAlDee+OFvnlX1itbbRaoqUe\/70h73Hn+XkuYUo3erOqrKdbDHSOvf1FiiIqzWEXxLNFAwyTSMjYObnuACqKnVtlpsj7X2rh0iaXZ8+XzXVFvQhOpCHSdi6RZg60ZMcUFqq6k\/\/ABxn0yvBedUVX92sjIgeRmJGPUhS5OW5T9VTfRu+5M1Cp9S3b9l20iI\/2qoyyFo556kfDP0Va9msHxvllrKSjjaC52wPCBz5Aqottqumpp31s1xkYIHARTlp3OebRtjGAVOMEs28imrxM5LBCLuzVads4tNvxJ7VVN7c78k5O+B5Z+qsZaumg\/nVEUe+PbeAs9+5r5f73eqyfrzxv37krtFoizR+82eXb78n5YUXhbu2Tg6sYqMYWS637E6XUdmh964wHfHsO4vosfq++012fTxUUvaQx5c4lhGXH4+H1Wui0zZYfdt8R2x7eXfVZzW9qo6WOCrgDYXHEQhjjAaQMknb4gKdPBiyKOLVd0XitbsPnT97rKG0x0tJZ6iqdxFxeMhu58AfBWf27V9R\/LtlNA09XuGR\/wAX4Kz05UU9RYqb7NngjYIzkY9oDf8ANWijKSu8i2jRk6cee7W2sZc2bU1ccVt5bAzq2nGD8gPqoV501QWq0z1s9RUVNRjhYXu24j1+p3K2qy2p83S9W6yswWl3azDJ2H\/gO9V2E22Rr0IRpt6t5K7vmyfpa1x2+ywuMY7aYdq9xG+\/IeQ\/FXEkjIo3SSO4WMBc49wC9AAGAMAKh1jXPpbKYIie1qnCIBoySOv5eahnORpeGhRy2RG0vGbjca++TMIMjzHDk54W9fwHqtQolqohbrXT0g3MTACcczzPzypa5N3Z2hBwppPXfvCIiiXBEUWpudDR\/wB5q4Yj3OeM+nklrnG0ldkpZrVNwnlfHYrfk1VUPbxyDMHI+Xp8UuGt7bS8TKVr6qQDYt9lnqfwCyNHUmor5quouzaJ85Je9sb3O36DA29Qr6dN6s87iuKg1ycHrr3d+hvG1Np0xQRUktSyMMHLGXvPU4G+6zNFVyaq1bDLKzFPTgvbGTkBo5Z8SSMqtt9Fa625uEtYIKOEcTnzPDXzfAdPhzWl0RStMVZceDgE8nDG0H3Wjpjzx5KTSgm9ymM515xhZKPV3GqVfe7tFZrc+pfh0nKOMnHG79bqZNNHTwvmmeGRsGXOcdgF+bV9ZU6qv8UUY4Wud2cLejW8y4+W5+CqpwxO70NvFV+SjaPSehbaNtkldWyXqsLpHNeRGXH3n43Pln9YW3Ueho4rfQxUkIwyJuB4nqfM7qQuTlidyzh6PJU1HffvONXV09DTuqKqVsUTebnfrdZsXq+X1722amZT0ucCpmG\/5egKsbjYTdLtFPV1BfRxNy2mxjLvHwVuxjI2BkbQxrRgNaMAInGK62RlGpUk03hj5v2M1Fo4VDxLd7hPWSYGWhxAHmd\/orimslrpMGGggaRycWAn1O6nouOcnuThQpw0R4AAMAYAXqKNcK6G20MtXO4BsbSQM44j0A8So6lrairso9UVklVNBYKR38erIMpA91n6GT4DxV7QUUVvoYaSH3Im8Oe89T5nJVJpWgmeJr1XtBqqwhzCQPZZjmO7P0AWjVk3bmoz0E5N1ZavTsXzMIiKs0hYHV1Q+7aggt1N7Zi\/hgYI9tx38uS1d\/urbRa5J8jtXDhiaerj1x4c1nNB0Paz1Nyly4tPZscc8zu78PVXU+anM8\/inyk40Fvr3GuoKKK30MNJD7kTeHPeep8zkqQiKk3pJKyPHODWlziAAMknosC2+NirrjfcF75T9npA7oOrvIcO3+LzWl1XcH0Nle2E\/wAaoPZMA5788eWfVYC5OzLDQxNBFK3s\/YGeN5OXHx3OB4ALRSjdZnl8dWcZJR2\/e3qb7SdbW19n+0Vsple6Vwa4tA9kADp45UGYm765ih3MFtZxnbbi2P1I\/wAqvKCnjtNnihcQG08WXkd+MuPrlZvTVfS0dLW3m4TMifVzHhBOXEDfYDfmfkorVtF08o06c32vw\/02K8JAGScALGXDXw923UvxfP8AgAfxVIau9agfwl9VVDk6OIcLB3ZwMevdzRUZavIT4+mnaHOZua\/U1ptznMlqRJI04McQ4iPw+az1Zr+YgiiomsGcB8p4vkMeHVcaLQ1dOAauSGkaQMtaO0dkeeB5FaKg0naaI8ZhNTJnPHOeL5cl37ce0rvxlbTmr582MpE\/VGoSGtkqDC\/m7+XHj4jAPzVxb9BwtHHcqgyvJzwRHDfU7n5LWgADAGAFW3y809oonvfK0Tuaeyjzu4\/Nc5STyjkT+kpU1jqvFbrMxVUduq9S\/ZYIYaegt7eKpkDQMkcwT13wMfFGW9uqq4mio4aG2wuwZWQta6Q\/ED5ch1XKw6er7o0vrC6Gilf2j\/uumPTbu3Prst3T08VLAyCCMRxsGGtbyClOeHJalNCg6yxSVk8+\/qXd+zJ6utlsoLRE2nomNqJHtjjcxp4ttzy592+efp8wGv0bJE2peam2zYDiOcTuuB8c\/H4qRITedcMYHZp7Y3iIxtx\/+cf5fNdtW3BroGWenjZPVVZA4DvwDofiibyizsoxTnWjlbJeH7u8is1JeWXaZ1FTTD7BA3tJ5m\/fI5NB69APHwCnaOtLo4Tdalo7adobEMDDY8DB+XoqGx2youk7LVNC6GmgkMtQeRccYA\/DzJX6M1oa0NaAABgAdFyo1FYUd4WDrT5afz\/z9nqIioPUCLMz3GqtGruCtneaGtaBEXH2Yz9Bvz+IJWmUnGxXTqKd1umERFEsCyd2J1Jf4rTA\/NLRnjqXbjLs4I+PTzPcrjUF3ZZrY+fnK\/2Ih\/ixz+AXLTFnNqt3FMSampIklJ5jbZvlk+ZKsjzViMtX7s1SWmr9F4lw1oa0NaAABgAdF6iKs1Bc5po6eF80zwyNgy5zjsAvtzg1pc4gADJJ6LJVs82rq4W+iLmW2B4M84++e4fh69ylGNymrVwLLNvRFVeKmW+Q1V1nJZR0zuypGYx2hJ5+gyfILX6cof2fYqaEjD3N43753duqjUEMctzs9igjDYQ8SOYP6Rt9A7mtWrJy5qRm4elarKTzayv26v0QRFDu1wZa7ZNWPwSxvstP3nHkPVVJXyN0pKKbZitVXH7XfnNjfxtoxwRMHWU88fA\/8uOq+JrJLNXU1noyxtRSwGWZ+f8AeHfGR3eyMppK3msuUl0qRxQ0uZCdt38xt4c\/IK+0ax1Sytu0o\/iVUxA3zsP9T8lqk8CstjxKdN15Ypf2fkviRBrdUGXTtVRVjXQ3IDsns4SOLcAnw2zt+C+KHQYmgimqa0tD2NdwMZuMjlk\/kpWuIIJRQxiNgqJ5uESBvtcPLHiMuC6Gm1ZbMtpp4a+FvuNkI4sdxzj69FBO0eblctlC9VqqnJRssvUn0ekrNSYP2bt3D70x4s+XL5K4YxkbAyNoY1owGtGAFmv3lvUXsy6aqHu74y7H\/KU\/em6\/+2Kz1d\/2KDjN6\/s1wrcPBWireD9jTrnNPDTRGWeVkUbebnnACzZqtWXIf2ekht8Z+9Kfa+eT8l7HpGWrmbNebnNWYOeyBIb8PAfDC5gS1ZLl5y\/jg\/HJe58z6nrLlOaXT9IZd8Goe3DW+ODy8\/RU09hkk1FR0NXVPqqmb+JVOB2a3ngE+AO\/iNlvoKeGlhbDBG2ONowGtGAFm7OftetLrUOIf2Leyaf6dwNv8p+anGVr4TPWouTiqju2\/BbmnAAGAMAKHd7lHarbLVv3LRhjce87oFNWA1Peoay+xQlpmpaM7saQRK\/u+HIeqrhHEzTxNbkqd93oTbbWfu7Zn1lXmW4XF\/aMhx7Tu7PXmSfNWem7LLS9rcbgA6uqTxEncxg9Pj\/4XKxWWearfebwOKre7MUbuUY6HHTwHT48tIpTlqkVcPRbSlLRaL1fa\/I8DQCSAATzPevURVG4IiICFdbXT3eidTVA25tcObD3hUdtvE1iqBaL27hY0Yp6nHsubyAP59Oq1Ki19upLnTmCrhbI08iRu094PRTjLZ6FFSk28cMpfvvJLXBzQ5pBBGQR1XqyX2DUOnN6Cb9o0bf9y4Zc0eA5+h8lyuOtWSW2eBtLNTVjhwcL8YbnmeX1C7ybemZW+LjFfcVn80Z3iaNTandM8H7DbThg6PfnxHhv8B3rVrM6fudjtdoiphcIe096U7jLzz6dOXkp0+q7LBGX\/bWyHo2NpcT+vFdkm3ZI5QnTjDFKSu83n80LhcKutpqCAz1UzIox1cefwHXyWcOqLncncFmtL3Nzjtp+Xy2HqutPpeetqhWX6rNVIPdhbsxv+nhsuYLdIl9Q55Ulft2Ir6i5aukdDSh1JagcPkcPak\/Xd6rT0VFT2+lZTU0YZGwbDv8AE+K7RxsijbHGxrGNGGtaMADwCSPEcbpDyaCSuSlfJaE6dLBzpO76\/YzNrAuGtrjVndtI3sm7cjy\/B3qtQs1oiNzrdU1kmOOpqCTjw\/1JWlSp0rEeF\/jxdd3+QsfrSpmq6ujstMQXyuDnNB6k4bnw5laW53CG10ElZPktYNmjm4nkAqXS1vnlfJfbhk1VUPYzyDMDB+Xp8V2GXOZHiL1LUY7693+nzeY47BpEW+n3kmxEO95du47efqFd2qiFvtdNSDnGwB3LnzPzyu1RSU9WGCohZKI3cbQ8Zwe9dlFyurFkKWGeLaySMxqn\/wBc0\/8A\/Z\/6mLTrMau\/hVtmqSMNiqt3HkN2n8PktOuy6KI0v5anh+giIoGkIiIAsdFVVGm7zc5JqCaoZWzccbogcYyT1H+ILYqDdbtS2ikNRUv3+4wH2nnuCnF7W1KK8E0p4rW3Mpc9U3ueeOkpaN1E+XZjSOKR2+NsjYc+nTmrzT+mKa0xsnlaJawtBLnbiM43DfzUfTdsqJpnXy6BxrJSeyDvuMx3dOZ8vitKpTlbmxKOHpOT5Wpm9r7BERVG4IiIAiIgCIiALIUbGan1TNWStEtBRDgja4Za874269T6Ky1bczb7SYYSftFWeyjA54+8fTb4kKZYbYLTaYabA7THHKR1eefpy8lYubG\/WZKn3aqp7LN+i9Tx2nbM45Nug8m4X1DYrVTv4o6CAEHOS3P1VgihifWX8lT1wr8HgAAwBgBeoi4WBRLs8x2eteObaeQ\/8JUtRLrG+a0VkUY4nvge1ozzJacLq1IT6LsV2jmBumaYj75eT\/mI\/BXMsscEL5pXhkbAXOceQCyFj1PbrXp+mppjK+oZxZiYw53cSNzt1C6Mp7tquRslXmitgdxNiA9qTB69\/wATt4K2UHibehjpV4qlGEM5WWXuGGbWFzZIWGO1Uj8gOH85369AfFa1rQ1oa0AADAA6LlS00NHTR00DOCKMYaF2VcpX00NNKm4JuTu3qERFEuKXVVukuFnd2DeKaB3asHfgb\/JSbHdY7vbI6lpAkxwyt\/pcOf5+asVma6x1ltr3XSxEcTv5tK73Xjw\/L0Vis1hZmqKVOfKRV09V6mmRZhus\/sxLLpa6qle08JLRkZ88fiuv78Wfg4sz5\/p7Pf6rnJy6guKo\/wDRokWZOt6WXLKGgq6mb7rA0AH0JPyXy+PVF6YWv7O1wO5YPtkePX6Jyb3yH1MH0Od3e+hZXfUNHamOZxiaq5MgYcuJ6Z7lXWqzVVzrReb2MvO8FOeTB0yPw9VYWnTVvtWJBH29QNzNIMnPgOn1Vuu4klaJxUp1GpVfx79YREVZqCIiAIiIAiIgCIqfU9xNvs0nZk9vOeyiAGSSee3wyupXdiE5qEXJ7FZSNGoNXSVpBNLbgGx55Ofk46d+T5BatVtgtjbTaIabH8QjjlPe48\/Tl5KyUpu7yK6EHGN5avNhERQLwiIgCIiA4ijpROZxTRCU4zJwDi2GBv8ADZdkRDiSWgREQ6EREAREQHhAIwRkFc\/stPxcfYR8XfwDK6ohyyZ8ta1gw1oaPAYX0iIdCIiAIiIAiIgCIiAIiIAslvqLWPR1FbB8Q53+pHo1Xd\/ubbTaJqnP8QjgiHe48vTn5Lhpe3mgs0ZkB7aoPayE88nl8lZHmxcjLV+5UVPZZv0LlERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgIdwtdJdGxNq4u0bE\/jaM438fBTERd2IpJNsIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:56",
    "ubicacionGPS": "LatLng(lat: -23.100655, lng: -70.4522617)",
    "horaLlegada": "12:12",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:56:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 14:56:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3135', 1, 21773342, 1080, NOW(), 
				'08:00', '12:12', '14:56', 3, 'Mantenimiento
configuracion', -1, 
				'', '','1','3001',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781031386.png', '', null, 'COMPLETADO','LatLng(lat: -23.100655, lng: -70.4522617)' )
				
[09/06/2026 14:56:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200650

09/06/2026 14:56:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200650'                    
				WHERE idllamado = 12948			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 14:56:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12948			
				
09/06/2026 14:56:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:29 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 14:56:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12948
            GROUP BY l.idllamado;
            

09/06/2026 14:56:29 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 14:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

[09/06/2026 14:56:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:56:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12948
                

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:32 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 14:56:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 14:56:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:56:32 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [RutCliente] => 76257428
            [ModeloMaquina] => WF-C878R
            [FechaLlamado] => 03/06/2026
        )

)

09/06/2026 14:56:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:48 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:56:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:56:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12945
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 16:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76063288
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2230
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:57:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6dg2g4TM6V1nZreNyn3HlZEMA6g9N4MoH7QSbxDmgi8w.lT6s2+
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76063288",
    "serieinterna": "EP2230",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "PROYECTO HIBRIDO PAMPAS",
    "ciudadmaquina": "TALTAL",
    "departamentomaquina": "departamento máquina",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira por falla",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12945",
    "observacion": "",
    "firma": "",
    "razonSocial": "GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCIA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:57",
    "ubicacionGPS": "LatLng(lat: -23.6618312, lng: -70.399965)",
    "horaLlegada": "14:53",
    "horaDespacho": "14:56",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•Se retira por fallas",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:57:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76063288

[09/06/2026 14:57:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76063288', 'EP2230', 1, 24456550, 0, NOW(), 
				'14:56', '14:53', '14:57', 2, '•Se retira por falla', 2, 
				'•Se retira por fallas', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618312, lng: -70.399965)' )
				
[09/06/2026 14:57:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200651

09/06/2026 14:57:19 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76063288' AND 
				serieinterna = 'EP2230' AND
				correlativo = 1;				
		
09/06/2026 14:57:19 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2230'
		
09/06/2026 14:57:19 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2230'
				   AND estado = 1
				
09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2230'
				  AND rutcliente = '76063288';
				
09/06/2026 14:57:19 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2230', 5, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 14:57:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200651'                    
				WHERE idllamado = 12945			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


09/06/2026 14:57:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12945			
				
09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:22 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12945
            GROUP BY l.idllamado;
            

[09/06/2026 14:57:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12945
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:57:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12938
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 10:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2247
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:57:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:57:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:57:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:58:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-DeSHl5ZYGkZMu1dmSA87MA1Jn9Om7OA7RCvyfJNdMZ_PfdkUFlW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2247",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "DSPRINT",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "DEPARTAMENTO",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se retira por fallas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12938",
    "observacion": "",
    "firma": "",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ELISA GIL GARCÍA",
    "correoContacto": "mlgil@services-ges.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+569765445794",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.6618499, lng: -70.3999893)",
    "horaLlegada": "11:28",
    "horaDespacho": "14:57",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "•So retira por fallas",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[09/06/2026 14:58:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2247', 2, 24456550, 0, NOW(), 
				'14:57', '11:28', '14:58', 2, '•Se retira por fallas', 2, 
				'•So retira por fallas', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618499, lng: -70.3999893)' )
				
[09/06/2026 14:58:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200652

09/06/2026 14:58:08 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76121841' AND 
				serieinterna = 'EP2247' AND
				correlativo = 2;				
		
09/06/2026 14:58:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2247'
		
09/06/2026 14:58:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2247'
				   AND estado = 1
				
09/06/2026 14:58:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2247'
				  AND rutcliente = '76121841';
				
09/06/2026 14:58:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2247', 3, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
09/06/2026 14:58:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200652'                    
				WHERE idllamado = 12938			
				TO ENVIO: micorreo@miempresa.cl, mlgil@services-ges.com


09/06/2026 14:58:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12938			
				
09/06/2026 14:58:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

09/06/2026 14:58:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12938
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12938
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:12 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12901
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12901
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:16 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                
=========================================
FECHA: 09/06/2026 14:58:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-drswzMf-Zrw9-nNCN-Lkf3KnpB6Yjel+KS.s8gG+vMQ1QQsCv0K
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79626800",
    "serieinterna": "EP2641",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realizo mantencion preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12904",
    "observacion": "Se realizo mantencion preventiva\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABaAHsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMCAwUFAwcNAAAAAAABAAIDBAURBiESMUETUWGBkSIjcaGxFTLBBxQkctHh8BZCUlVigpKTorLC0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMBBAX\/xAAuEQACAQMDAQUHBQAAAAAAAAABAgADESESMUFRBBNhkaEyQnGBwdHhFCNSsfD\/2gAMAwEAAhEDEQA\/AP2GoqYaSEzVErIo283POAFX02pbTVTdi2qEbzyEoLM\/DKrL7I646mt9pbkxM97MMHBHPfyHqRzVrcNPWy5RBk1M1ha0NY+IBrmgbADwHcdlSygC85TUqOx7u2MZ5lmiyQdeNKEBwNfa2jAIGHRDx2\/d8FpKC4UtyphUUkokYeeObT3EdClK2zxKU6wc6SLHp\/t5JRESy0Khtl8qHXuptVzbHHMHZgLQQHt7vTf1V8qTUlnfX07KykJZXUvtRObzcBvw\/s\/enW2xkK2sAMnHHWXaKrsF5ZebeJSOGeP2Zmdzu\/4FWiUgg2Mqjh1DLsYREWRoRERCEREQmZtfvtdXSboyIRgZ\/VH\/ABWmWYso4dZXhp2JAOPDZadO+85uzewT4n+545oc0tcAQRgg9Vkq6mdpO5x3Gi2t87gyeEnZpPd9fJa5U2rGB+mqvP8ANDSP8QQhzbrN7Sl0LDcZEt2ua9ge05a4ZB7wvpQbI90ljoXu5mBmfRTkpFjLKdSgwiIsjTKXmklsN1bfaGP3DtqqJvXJ548fqPFaWkqoq2ljqYHcUcreJpX3LFHPC+GVgfG8FrmnkQsnTzP0hdnUlS5xtdSS6F5JPZn+OfkVT2x4zjP7D390+h+xmvRZz+U9TWzubZ7Y+riY8tdM53C0\/BTLJfTdJJqaemfTVUH343A8u\/lt0WFCBeVXtFNm0gy3RESS8IiIhMuz9C\/KE\/iJa2tp\/ZxyJAH\/AEK1Cy+s4XQNorvC0dpSSjO3MZyM+GR81ZV+prZb4mulmLnOaHNjjblxBGR4cj3qhBYAicdN1pM6sbZv5y2VFq+pjhsE0LnDtJy1jG9eec\/Iqkq9dT1OYaGFlLxZAmmPFjxxjH1XSglsbKltbdbyK+qHLjjJY34Aj+O5MKZXJk6nakqgoh35OBNRaYH0tppYJAQ+OJrSDzGymKpbqiyOOBcI\/MEfgplNc6GscW01XDKW4yGPBUyDuROtHp2Cqw85KRESysLI6gkqdQ17rNbwwtpgZJnvGAHDYDPnj+CtTUymCllmAyY2F2MZzgZVHoyDhs7qx+81XK5739Xb4+ufUqiYGqctcd4wpcHf4CdNH1kdTYY4WsDH0xMb2gdeefPPrlQr64WfU1Dd8EQzAxTkE92N\/LB\/upBiza4kh9hlPcWcTfB3\/ufVSNbtcbAHDPsTNJI6c\/xITe\/4GQJP6cg7p9PxNEi5Uzg+lic3k5gI2x0XVRnoA3EIiImyFeKL7QtFTS9ZGHh\/WG4+YCzumrbarzbo5aqmElVTe6eCSOX3SQPDbyK16yc2NOaubOARSXL2XdzXZG\/r8iVVCbECcfaFUOtRhcbH6HzlyzTtmjbwtt0BH9pvEfUr7+wLR\/VtN\/lhWCJNR6zo7qn\/ABHlK12nrO4YNup\/JmFEq9H2mdg7CN1LI05bJE45Hqr1EB2HMVqFJhYqJlHTX3TTuOpk+0LcCAXk+1G3lk9c+o9Vp4Zo6iFk0Tg5kjQ5pHUFRL68R2Ktc5rXDsHbO5HZcNLtLdOUedssJx5lMcreTpg06vdg3Fr\/AAlhVQCppJqcnAljcz1GFRaLqmvtUlGWlktJIWvaeYyTj8R5LRrKGT7F1w50g4ae5MAB6cW3zyP9SFyCIVjoqLU+R+f5nTWg\/N4qC5NB46aoAGD0Iz9WhfWt5gbNFA08T55m8IAzsOu3l6rtrVgdpyUnm17CPXH4qroHvv8AqOk43cUNtgY4nPN+B8+L\/anXYHpOesbVHpjdrfW\/pNfAzsqeOP8AoMA9AuiIoT0hiEREQhUmrLe+vsrzHjjpz2wz4A5+vyV2vHAOaWncEYK0GxvEqIHQqeZCs1w+1LVBVkAOe32gOjhsVOXGmpYKOEQ08TY4x0b9fFdkG18TUDBQG3hFDr7tQW1nFV1LIz0bnLj8AN1np71dNQg01lpnwQOPC+pfsQOvw59MlMEJkqldExueg3nTVVxiroxYqJ3bVc0gDmtOzcb4J78gfDqtHSUzKOkipowAyJgaMDuCg2axU1ng9n3tQ4e8mcPaPgO4eCtEMRawmUkbUaj7n0EKm1RaXXW1OELc1EB7SLHMnqPMfPCtZ5mU9PJPJngiYXuwMnAGV8UdXFXUkdVBkxyDLeIYKwEjIlKiq4NM8zKXC7C76Ikc4\/pEb2Ryt68WRvjx\/b3L3RlbTUEc1vqz2FU+QvHaDh4m8I235dTvjmud50tVSXztKWPio6qVrpGhwHCdydsjx38SFpbnZKC6wCKphwWjDHs9lzfh68jsqllC26zz0p1jU1ndcZ5lgiyv2XqGyRuNsrBWwg7QTDcDwyfkCpls1VSVbjT1w\/MKtpw6OY4B8zjHwPzUynIzOxe0C+lxpPj95fIvAQRkHIK9STohEREJznkdDTyStjdI5jC4MbzcQOQWZa3VN694ZGWymdu1o+\/jv7\/otUiYNbiSqUtZySB4Sht+kbfSSmepL62cnPHNuM\/D9uVegADAGAF6iwsTvNSmlMWUWhERZKQvAABgDAC9REIRERCFCuFooLozFXTtecYD+Th8D5Kai0EjaKyhhZheZB0F30kTJTuNdbAcuY770Y\/D4jbwWhobvSV9HHVRuIbIM4c05HQj1U5fLGMjaGMaGtHINGAExbUM7yKUjTaynHTpP\/\/Z",
    "razonSocial": "SQM SALAR S.A",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "NICOL MARIN",
    "correoContacto": "nicol.marin@sqm.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56 9 6627 1994",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R838\",\"id_control\":\"28931\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:58",
    "ubicacionGPS": "LatLng(lat: -23.6618419, lng: -70.399964)",
    "horaLlegada": "14:56",
    "horaDespacho": "12:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79626800

[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79626800', 'EP2641', 1, 19969062, 0, NOW(), 
				'12:56', '14:56', '14:58', 3, 'Se realizo mantencion preventiva', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1781031501.png', 'Se realizo mantencion preventiva
', null, 'COMPLETADO','LatLng(lat: -23.6618419, lng: -70.399964)' )
				
[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200653
[09/06/2026 14:58:21] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200653', 'EPS-R838', 1)
				
[09/06/2026 14:58:21] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28931 and
				    IDproducto = 'EPS-R838'
				

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:21 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R838';
                
09/06/2026 14:58:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200653'                    
				WHERE idllamado = 12904			
				TO ENVIO: micorreo@miempresa.cl, nicol.marin@sqm.com


09/06/2026 14:58:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12904			
				
09/06/2026 14:58:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12904
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 14:58:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 14:58:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 14:58:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12904
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:27 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:32 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:34 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:41 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:42 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

[09/06/2026 14:58:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12750
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 26/05/2026
            [HoraLlamado] => 13:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76214934
            [ClienteRazonSocial] => FERROVIAL SERVICIOS CHILE SPA
            [ciudad] => HUECHURABA, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2650
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            
=========================================
FECHA: 09/06/2026 14:58:58
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tIOHgsuh6fMGj09BwDZpaSUJ1rR1.KPaxl-468HwiLlrMXQJMfI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76214934",
    "serieinterna": "EP2650",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12750",
    "observacion": "",
    "firma": "",
    "razonSocial": "FERROVIAL SERVICIOS CHILE SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAMILO AGUILAR V.",
    "correoContacto": "camilo.aguilar@vestislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56967495635",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28805\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28805\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "14:59",
    "ubicacionGPS": "LatLng(lat: -23.6618476, lng: -70.4000121)",
    "horaLlegada": "14:58",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 14:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76214934

[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76214934', 'EP2650', 1, 24456550, 0, NOW(), 
				'14:58', '14:58', '14:59', 10, '•Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'', '', null, 'COMPLETADO','LatLng(lat: -23.6618476, lng: -70.4000121)' )
				
[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200654
[09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200654', 'EPS-I303', 2)
				
[09/06/2026 14:58:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28805 and
				    IDproducto = 'EPS-I303'
				

09/06/2026 14:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [09/06/2026 14:58:58] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200654', 'EPS-I304', 2)
				
[09/06/2026 14:58:58] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28805 and
				    IDproducto = 'EPS-I304'
				

09/06/2026 14:58:58 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                
09/06/2026 14:58:58 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200654'                    
				WHERE idllamado = 12750			
				TO ENVIO: micorreo@miempresa.cl, camilo.aguilar@vestislatam.com


09/06/2026 14:58:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12750			
				
09/06/2026 14:58:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 14:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

[09/06/2026 14:59:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12750
            GROUP BY l.idllamado;
            

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 14:59:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 14:59:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 14:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12750
                

09/06/2026 15:20:18 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 15:20:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:20:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

)
[09/06/2026 15:20:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:20:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[09/06/2026 15:20:21] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:20:21 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 15:20:21] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:20:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TPORT LOGISTICS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76917086
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 15:20:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:20:36 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:41 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:41] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

[09/06/2026 15:26:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:54 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:26:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:26:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12961
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCION PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3137
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:26:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:27:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:34:20 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:22 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:24 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:34:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:34:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12956
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 13:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76548103
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3160
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:34:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:34:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                
=========================================
FECHA: 09/06/2026 15:36:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-XkL_aMp1a_SruZ98OolTU88I+LWs2banRvlgXdilT+6+d6cNxjx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76548103",
    "serieinterna": "EP3160",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1815",
    "contadorColor": "928",
    "contadorScanner": "0",
    "detalle": "•Se deshabilita prioridad de improsión por alimentador posterior\n•Se conecta 1 pc para imprimir\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12956",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAUADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMBBAcFBQQIBQUAAAABAAIDBAURBhIhMUETIlFhgZGhFDJxscEVI9Hh8AcWM0IkNlJikqLS8SVzdILCNDdDU+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAgGAgIDAAAAAAAAAQIDERIhMQQiQVETMmFxgZGx0RQzocHh8CNCNPFSYnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERV14vdJZabpKg7T3Z6ONvFx+g711Jt2RGUowWKTyJ0sscMbpJZGxsaMuc44A8VQVusKVkwp7dBJcJjkYiBx8t\/gotNZ6\/Ub2116lfHSk7UVI043cs9nz+C0lJQ0tBF0dJTxwt5hjcZ+J5qdox1zM6lVq5x3V9fIz7X6vuJy1kFvjcN21ja+p9Avv2Nqd+999aD\/db+QWnRMfJHfhk+tJvx9jMfY+qY98V8jcf77fyK+Go1fQEulpqevYM56PAPhjB9OS1CJj5ofDJdWTXj7mfodY0FRN7PWMfQTDdib3c\/Hl44V+1wc0OaQQRkEc1DuFpobpHsVlO2QgYa\/g5vwPFZ59su2l3me1yvraIZMlPId7B2jv7wPBLRlpkRx1aXXWJc1r5exrkVdaL5R3qEvp3ESNHXid7zfxHerFQaadmaYyjNYou6CIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA41dXDQ0klVO7ZjjGXEDKzNhoJL3XOv9zZxOKeIjqgDge8dnfkrpq8vrKq22hhIFTLtPIONw3fUnwWliiZDEyKNoaxjQ1rRyA4BWdWPazI10tWz0j6\/g9oiKs1hERAEREAREQGdvlhlEoulnPQ1sR2nMZuEvh2\/NTrHe4bxTHd0dTFgTRHcQe0dytFmNRUEltqmagtzPvYj\/SGDg9vb+PnyKsTxbrMk4ui3UhpxX3Rp0UeirIq+jiqoDlkjcju7lIVZqTTV0EREOhFnbreq2prnWmxsDqhpxNO4dWL6KDV2muooumrdWyQSEZ2C5wBPYOtv8B4KxQ5syy2izeGN7cckvqbBFQ6UuNfX0T\/AGz7xsZwyfGNv9fDzV8oSVnYup1FUipLiERFwsCIiAIiIAiKFdLrS2ikNRUu3cGsHvPPYF1K+SOSkoq70JhIAyTgBUtdq600TjG2Z1TIDjYgbtevD1VZFRXfVJE9fI+ht592Bm4vHbv+Z8AtBb7Nb7W3FJTNY4jBed7j4lTtGOpmVSrV6isub9vcpv3gvlaCLfYnsBHVknJAPngeq++x6wqOs+4UtOMe40cP8vf28lpkXMa4I70DfWm39PQzH2VqwbxeoD3FvH\/KvPt2rbeM1FBDWsA3ui94+A\/BalF3HzSHw9urJrx9ygodX0E8ghrGuoZ842JeA+J5eOFfNcHNDmkEEZBHNQ7haaG6R7FZTtkIGGv4Ob8DxWc27ho2Vole+utbyBn+aLuG\/A+R7ktGXV1IupUpfMzjz90bBFxpamGspo6mB+3FIMtK7Ks1Jpq6CIiHTL0w+0NfVExPUoYdhvxIx\/5OWoWX0oBLdr3VcS6ow08cDacePktQrKmtjNsucHLm2\/qU9Vqqz0lQ+CWqy9nHYYXDhniFZU1VBWQNnppWyxuzhzeG5Zqw01HHe7pbqmmifIJOkj6RodlpPLPDi0+K83SjbpashuduIippXiOoiI2hz4c+3h3LrhG9lqVRr1FHHK1uPNGtRfGuDmhw3gjIX1VG4Ii5TVMFM3annjiaOb3ho9UONpanVFUy6oskTwx1exxPDYa5\/wAgVEl1vZ487JnlwM9Rg+pCkoSfAqe0UVrJeZoV5exskbo3tDmuBDgeYUe3XGnulG2qpnEsO4gjBaewqUuaFqakrrQyen3usl+qrFM49FIekpyef+49QtYs1rKjcKWG7U52aijeDtAcWk\/Q49Vf0dVHW0cVVF7krA4d2VOeaUjNQ3JSpPhmu5+x1JAGScALPX3VdDR0csdJUMnqnDZaGHIbyJJCk3ewuvNWwz1sjKRrWgwM\/mcCd\/dxCpKu0UDdU2+10VOI2R5mmOTk8wNo7+XquwUeJDaKlZK0Va+XnyI1loNRinfHSQNo+lcDJUzAiR\/nnd8Aryk0hSiYVNxnluE\/Mynq+X5rQrnNNFTwvmmeGRsGXOcdwC46knoShslOC3s7c9PI+xRRwxtjijbGxow1rRgDwXyaogpmbc80cTf7T3Bo9VmXXO9ahc9tnYKSjBLTUybi74fkPFdoNFUbnia41NRWzH3i95AP19UwpdZnVWlP5Ubrm8kTZNU2SPO1cGHH9lrnfILmzWFjece1lve6N34KVHp+0RNDW26DA\/tM2s\/HPFdX2m2yN2X2+lI74W\/gubnadttHNfUU13t1WQ2nrYXuPBoeMnw4qYqKt0dZ6tnUhNM\/GA6J30O5V1W+9aWDah1ULhQAhmzIdl7RvwPz38OC7hT6rOOtUp51I5c17Ghut1prRRuqKh3cxg4vPYFzsdZXV1AKmup2QGQ7UbWk5LeWQs7YYm6nuctzuUrZPZ3AR0vJo5E93zI3rZpJKOXEUZyqvpNI8Fz7WFk6OBuptRy3CUbdBRHo4WkZbIRz8znyV1qGpNJYayYHB6PZBxnG0dn6rlpelFLp2kaOMjOkPftb\/lhI5RbFRdJVjTeizf2LdERVmoIiIAiIgC8SxRzROilYHseMOa4ZBC9ogMjAZdI3oUz3Odaqs5Y5x\/hO7\/hz7t\/Ja5QbxbGXa2S0jyGlwyxx\/lcOBVfpO4yVVvdR1ORVUTujkDuOOXyI8FY95YuJkp\/xVOj4PT7ovkRFWazMaN6st1jPFtTv9fwWnWY06Og1NfIHbi+QSAHjjad\/qWnU6nWM2y\/KS5X9TM6sppqSSnvtGSJqYhsgHNhPPzx4rxqmpiuWn6PoZGg1UzTHtHdwORnhuytJUthfTSNnLREWkPLjgALD6TpBcLjh823TW9xfA04BJLsg48OzmrIO6u+Bnrxam4R\/v+38jdxtLI2tPEABQL5W1tBQdLQUZqpi4N2QHOx34G8+isUVKeZvlFuNk7H53W3zUsmW1XtFHERk9HTlhAHYePqri1adtd3pG1s1VV1hcSHdK\/GHcDzPZ2latzg1pc4gADJJ5LPaQc6eGtqhuhlqD0bGlwa0DsB4ceX0wLsd45ZGBbOo1UpvFfn2FjBp+0U4Ajt0BxwL2bZ8zlShDT0kTnRQRxhgLsNaGruuVTCKmllgJwJWFhOM8Rjgqbt6m5QjFbqKHRcL226oqZC3aqJ3HDeWPlvz6LRrK0R1LaYorfDboZ4YyQ2Rz9+C48Tn6cMLVKVTW5TsztTUbNW5nGqp2VdJNTSe5KwsPwIwqLRdQ42yaglP3tFKWEZzgHh67XktGstSj7O19UQjIjroukaM8+J9Q5djnFoVd2pCfh5\/k1KzFjBrNW3etcP4RELc9mcbvBnqtOsxpD\/115\/6n6uXI9VitnUprtfoadZO4mXUOpfsgOe2hpRtVGN20f8AcgeZWpmkEML5SMhjS7HbhZ3RMTnW+or5N8tXMS49oH5ly7DJORyvvyjT4PN9yNDDDFTwshhYGRsGGtaNwC6IirNWgREQBZFw\/evUWAdq2UOD3Su\/XoO9WOrblJQ2xtPTkdPWO6JvbjmR5jzU6zWuO0W2OkZguHWkcP5nHif12KxbqxGSp\/LU6Pgs39kUmoKA2aoivttiazosNmiZ1WuB5kDy8jyV8650wtX2lt5g6PpMjf4bs7+S71VOyqpZaeT3ZWFh3dowvzu2z1F3o6PTjA5jRM58jzyZx7N3PxwpRWNZ8PQrqT+Hm8P9tF2lxeL4286PnnZC6H75kbmk57DuPx+S1FuYI7ZSsHBsLB6BYWngb+617YzcI6huyM8g4fRbazSdLZKJ+MZgZn\/CEqJJWXM5ss5Tnilq0vVk1ERUnoBF5dIxhw57WnvOF9JAGScAID6io6XVltqq0046RjdrZbM8bLXHd27xvP8Asrtzg1pc4gADJJ5Lri1qQhUhNXi7kC711XQwMfSUElW5zwHNZyGDv7VT\/vnLDvrLJVwNHvHeceYCu7fdqO6dN7JIZBC7Zc7ZIBPd2qapJpZNFTjOe9Tnl3JlTbdTWy6SNiglc2V3BkjcE7s47ORVXWsFl1nS1jCWwXDMcgA3bXD57J81L1TaIam1y1cMDG1VP94HtGHEA5IJG\/hk\/FQbzKL5oyOuiOZYC17w0kkEbnfPKnFLVaPIz1ZTs4y1jmu2xrUUW2Vft1sp6rIJljDjjt5+q7TzxU0Lpp5GxxtGS5xwAqrZ2NykmsXAzFVNFbNdxTiSPo6qMRTdYdR3LOOGcNO\/tVpcNT2q3xkmpZPIOEcR2iT8eAWbqbSdU3KrrqBmxBsYbI9x+8eBuHHdux2YVjo2G1zUYe2kjbXU52ZS4ZcDycM8PBXSUbXfA82nUqY3GNkpNtP2PLLddtTvE11c6ioc5bTM3Od3n8T5c16r6GXTdwjudtiBohHsTwg4wAOOT+s\/FapFDpH4Gr4aNr33ufH97Cttl\/t12aPZqgCTnE\/qvHhz8MqfLNFBGZJpGRsHFz3AAeJVXWaWs9a8yPpBG92cuiOzv7cDcolPoe0wSh5dUS4PuyPGPQBctDmdUtoWTSfbe30sQ7pcpNS1rLRanyezZzUzAYGM9\/Ib\/iVqKOlioaSKlhBEcTQ1uTkpS0dPRQiGmhZFGOAaF2SUr5LQlSpOLc5u8n+2QREUC8IiIAsvqAbGq7JI3c9z9knuyN3qVqFmNR\/1msf\/ADT82qyn1jNtXy\/FeqNOsvpRzY7veqdxxJ0+1snsy7PzHmtQs\/ebPXCvbdbM5jKoN2XsccdIPHd545b1yLWafE7XTTjNK9i4rozLb6mMcXxOaPEFVGintfpyNo4skeD8c5+q4v1Lc6ON3tlhny0+\/HnZI37+BxwXDQMzXUdZC3IDZg8AngCMf+Klhag7lPTQltEbcmaxERVG4IiIDL3Bvtuu6GFxHR00XSY\/vbz89nyWoWWvTzZtUU94lje+lki6ORzRnZPDPqFKn1lamM\/o7pKqQ7msYwjJPDecY3kBWuLaVjFTqwpynjdnf\/ROvd3is1udUvw6Q9WOMn3nfres\/oKFh9tnfHioa4MLjxAO8jHxCk2y01l3uIvN6Zstb\/ApSNzewkH5cyvmlHtjqr295w1tQST2DLlKyUGkV3lOvCclZZ28tSmEtQ26XOxwNJdW1RGcA4b1snf3EHwKmaU1F7Ifsm4YjZGSI5Hbtg53td481xslzbNrR1Y+MNZW7TI3O5cMEf4ceK6Xu10lJqMiqaW0dyB+8\/8AqkzxHjjwcVY7PdaMkHKK6WD0bXg9DcKJc6p9FbKmqjDS+KMvaHcCQOaz1Hda3Tc8duvOX0p3QVQGd3Ye4eY+GF7vuoKevpHWu1k1VRUjYOz1Q0fE8+WFQqbv2Hoy2mGB8JcuNzjadN0t5tUNdXz1Ek0xc4kPxjed2\/OefmpU2l6qlgMVouc0LHjZcyR2cNzyxw4nzV5bqMUFvgpAQ7omAEgYyeZx8VJR1HcQ2WngV1nbUqZNOUM1mjtkjOpGOq8e813MjOfJVZ0ncZ2Npqq+TSUrSOrvyR4n8cLVIuKckWS2alLVEeioae3Uraamj2I2+JJ7SeakIigXJJKyCydZZLnbZ6g2kRy0VWC2WneTu2txPrxHYtYilGTiV1aUaizMHp+9XiC3GhorZ7SYXkbROAzJ4Ebu\/mrNlhut5nZPfakMibwpYju7OIPrvO9etPEQanvVLjZ2n9IAPif9S06snKzyRk2ejjprG20srcMjxFFHDG2OJgYxowGtGAFnr1Y6yKu+2LNIW1Q\/iRE7njngfT6rSIq4yadzXUpRqRwv\/RR2zVVFWOEFVmiqxgOjmGyCe4n64KvFXXKx2+6gmpgHSYwJWgB45cefjlU32XqOytcbdWtroc56GbiB3ZPx4EKVoy0yKsdWn11iXNa+XsapFmP3ivsZ2ZdOyvc4btgnA+O4\/RXltqKqqomTVlKaWVxOYyc4Gd3oouLWpZCtGbsr+TJaIiiXBERAEREAWYv+JNV2WMe81xdjuyPwK06zEYNf+0B8oGWUMGztd5HD\/OfJWQ1bM205xjHm17mnXxzg1pc4gADJJ5L6s3qGoqK+501ipH7Il61Q4cWt3H5ZUYq7LatTo43I9XV1Oqqx1vt7zHboz9\/Uf2+4JaYGWXWc9vjOIamAOjDjkkgZ4+DlpaOip6CmbTUsYjjZwA+Z7VQaxikphR3mnwJaSTDu8Ht7uX\/crIyu8K0MdSk4R6aWck7vu5I0yLnBPHUwRzxO2o5GhzT2groqT0E7hF8c4NaXOIAAySeSyslyr9SXMU1pmkpqGndmSpbuLz3fh5qUY3KqlVU7LVvRGpexkjCx7Q5p4hwyCuMVDRwP24aSCN2MZZGAfT4BSEUbljSeYX5t7Y8Q3GigP3twrdhoxnq5Oc+JHqv0lfnukKL2\/UMlW7JZT5kyObid31PgrqVkm2YNsUpThGPG\/wCS31HaRb7DRzUeA+2OaQ7G85Iyf8WD5q0qqWn1LYGE7GZYw+N3HYfj8chWc8EdTBJBK3ajkaWuHaCszp6d9kucun6t+QTt07zuBzy\/XPK4m2u1E5QjCpZrdkrePD6HTT9eKuKSw3aJpqafq7MuCJGj48SPlvV3SWuhoXF1LSxxOPNo3\/D4dyr79YftEtrKN\/QV8O+OQbtruK42jUrpJzQXiMUVYzgX9Vsnn+jyR7yvEQapyUKng\/3iaFERVG0IiIAiIgCIiAzFH93+0OuA4SUwOOzcz8PVadZj+F+0Ts6Wm8935LTqc+HcZtn\/ALL\/ALMIiKBpCIiAIiIAiIgCIiAIiIDlU1EVJSy1MztmOJpc49wWf0bA+WmqrrOB0tbMSD3A\/jnyXLUtVLda+LTtERtPIfO\/O5oG\/B9D5LS01PFSUsVNC3ZjiaGtHcFZ1Y95lT6WtdaR9fwdVl77L9k6mt90dGOhkBhldwx3nwPoVqFCu9tju1tlpJMAuGWOP8ruRUYOzzLK8HOG7qs14E1cqmniq6WWmmbtRytLXDuKp9N3OSSJ9sr3Yr6Ulrmu4ubyPfxCvUacWShONSFzM6WqZaGpqNP1Z+9piXQu5OYezzz4nsWjlljhjdJLI2NjRlznHAHisrrLo6KrorpBNGyshcAY9rrPbv347OI8V4iiuWsXNlnd7La2vyI2nLn4P63lWOOLeMcKrpN0Urtad3b3HSrq6jVVY+32+R0VvjP384Hv9w\/BaWjo4KClZTU0YZGwYAHPvPaV6pqaGjgbBTxiONgwGhdVXKV8loaadLC8Us5P9sgiIol5CvFwZbLVPVuOCxuGDtcdwHmqbQkDY7I+Ue9LMcnPIAAfVRdfVpENNQNPvkyv343DcPr5K30nH0emaMY3kOdw7XEq61qd+ZhU8e14f+K9bFyqDVtvdUW4V9P1amhPSteOOyN58uPgr9R64B1vqWneDE4HyKri7O5qqwU4OLPFqrW3G109W3\/5WAu7ncCPMFcrtZqO8QGOpZ1wMMkHFv4qBopxdp2PPKRwG7vV+uy3ZOxCnarRWJXujKB+odOMc3ovtSjactdk9I0epA8CAr61XSG70Iq4Gva0ktIeMEEKavgAHAYRyT4ZinScHlLLl+T6iIoF4REQBERAZirwz9olDj+emOfJ\/wCC06zFd\/7iW3\/pj8pFp1OfDuM2z6z\/APX2QREUDSEREAREQBERAEREAVde7tHZrc+pfh0nCOMnG2f1vViqmusTbjeaauqJy6GnHVp8btrOc\/j8ApRtfMrq48O5r+5kfStskpKN9dVkuq60iR7id4bxA7jv3\/kr5EXJO7uKdNU4qKCIi4WFJd7FNVVbLhbar2StYMFx3teOWf8AYqNJQ6prmGOWvp6Vm0cuhyHEbsYx481pEU1NlEtni23dq\/JlHQ6Tt1LtPqA+tlf7z5zkE893hzyq62SO0xfHWioJNFVu2qaU8id2D8j4Hmtaq2+2iO8219OcCVvWif2O\/Arqnd2kVzoKKUqSs19ewskVDpe7SVlM+hrMtraTqvDhvIG4H6H81fKElZ2Zop1FUipIIigXqvFstFRVbQD2sxHnm47h6old2OykoxcnwMlcv+K3K813vRUUHQxkHIzw\/wBXDt89Rpv+rtF\/ylT0NnqJdEvgiANVWkSFx59YEZJ47h6rRWymNHa6WmcAHRRNa7Hbjf6q2bVrGHZoSVTG1qr+b9iUoN6nFNZqyUu2cROAOQN5GBx7yFOWW1TM651lLYqYOc58odO5o9wY\/B2T4dqrgrs1V54KbfHRd5Y6Ug6DTlL1cF4Lz4k49MK4XiKJkMTIo2hrGNDWtHIDgF7XG7u5OnHBBR5BERcJhERAEREAREQEGW00013huji\/p4WFjQD1cb+X\/cVORF1u5FRSvbiERFwkEREAREQBERAEREAREQBERAEREAREQBERAZfUdHLba+HUNCzfEcVLB\/O3hny3eRWhoqyCvpI6qmftxyDIP0K6vY2SN0b2hzXAhwPMLK0bKnTF+ZQNbJLba1+IjxLHH9b+7fyVi3lbijI\/4amJdWWvY+fiaxZjVgdWXC12sOIjnlzKM4yMj\/8AXotOqPUFuqJamkuVHH0s9I7PR598dnzXIO0ie0xcqbS7PK5dtaGtDWgAAYAHJfVQUmsbbNHis6SilHFkrSfIgfPC6VGrbVHTvfTze1SNGREwEE+JCYJcjq2ija+JEq93aOzW59S\/DpOEcZONs\/reoOmLTNTMkudcdqsrOsc8WNO\/H67Aotstdbd7p9sXmIMjA\/o9M7+XsJH6yVqV17qwohBOrPpJLJaL7hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgK66UVJPGHy00Mji7G0+ME8PyHko9soKOKq246SBjmjIc2MAg\/olEWhdQ8uf+R4lyiIs56gREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "BLINKEND SEGURIDAD SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EUGENIA",
    "correoContacto": "egonzalez@blinkend.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56944927696",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:37",
    "ubicacionGPS": "LatLng(lat: -23.6871637, lng: -70.4097485)",
    "horaLlegada": "15:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76548103

[09/06/2026 15:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76548103', 'EP3160', 1, 24456550, 1815, NOW(), 
				'08:00', '15:23', '15:37', 15, '•Se deshabilita prioridad de improsión por alimentador posterior
•Se conecta 1 pc para imprimir
', -1, 
				'', '','1','928',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781033814.png', '', null, 'COMPLETADO','LatLng(lat: -23.6871637, lng: -70.4097485)' )
				
[09/06/2026 15:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200655

09/06/2026 15:36:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200655'                    
				WHERE idllamado = 12956			
				TO ENVIO: micorreo@miempresa.cl, egonzalez@blinkend.cl


09/06/2026 15:36:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12956			
				
09/06/2026 15:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:56 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 15:36:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:36:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:36:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:56 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

[09/06/2026 15:36:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:36:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:36:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12956
            GROUP BY l.idllamado;
            

09/06/2026 15:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                

09/06/2026 15:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12956
                
[09/06/2026 15:37:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:37:18 - INPUT: {"rutTecnico":"20988335"}[09/06/2026 15:37:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:37:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => VENTA
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONGREGACION SALESIANA
            [ciudad] => LA SERENA
            [RutCliente] => 80230500
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 28/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 27/05/2026
        )

)

09/06/2026 15:37:21 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:21] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:28 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:32 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:34 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 15:37:35 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:35] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:39 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 15:37:40 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 15:37:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 15:37:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:49 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 15:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

[09/06/2026 15:37:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 15:37:53 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:54 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:54] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:37:55 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 15:37:55] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:37:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 15:37:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:38:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:38:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:38:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:39:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:39:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:39:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:39:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:40:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                
=========================================
FECHA: 09/06/2026 15:43:10
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yKnxjE01TEzKPhI_MYHyOzDDjMqJFROQ0Or5Qen7.0bT9GzcPWG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3137",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "355",
    "contadorColor": "6411",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\ny limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12961",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC9AOQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMCAwYDBgUBBgcAAAABAAIDBAURBiESMUETIlFhcYEUkbEVIzKhwdFCUmLh8CQWM0NygvElNJKissLS\/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIDBAH\/xAAvEQACAgEDAQYGAgIDAAAAAAAAAQIDERIhMUEEEyJRYdEycZGhscEjgeHwBRQz\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBFFjuVHLXyUMc7XVEbeJzB0ClJjB4mnwEREPQiIgCIiAIiIAiIgKvUJr2Wl81ukLJoXCQgDPG0cx+vsu1nubLtbIqtgDS4Ye0fwuHMKcspTt\/2e1aaYOPwly3Y0DZj8\/57EK0srHU5rG67FLo9n+matERQdIREQBERAEREAREQBERAEREAWevd7mNQLRaB2ldJs545RD9\/ovt8vc\/xItFpb2ldJs5w5RDx9foplkskNmpyAe0qJN5Zjzcf2WiSiss5ZzlbJ1w46v8AS9fwLJZIbNTkA9pUSbyzHm4\/srREUNtvLOiEIwjpjwERF4UEREAREQBERAEREAWd1pSuktLKyPaSjkDwc4wDsfzwtEod3YJLNWsPWneP\/aVUXiSZlfDXXKJ0oKtldQQVTCMSsDtjyPUfNFWaPkMmmaXiJJaXtyT\/AFFEksNo9qlrrjJ9UXaIik0CIiAIiIAiIgCIiAKl1DfTao46emZ2tbUbRMAzjpk+\/IKTe7vFZre+pkw557sTP53ft4qt07aZppftu6EvrJt42u\/4bem3Tb5BXFLGpnNbOTl3VfPn5L38iVp6xm1QyT1Lu1rag8U0h3x1wD68\/FXKIpbbeWbQhGuKjHgIiLwsIiIAiIgCIiAIiIAiIgCj3AB1tqQ44BheCfYqQqrU03YacrX5IzHw7f1ED9V7FZaIsemDfoRdFknTcOej34+aKXpuD4fTtEzxiD+f83e\/VF7PeTIoWKop+SLRERSbBERAEREAREQBc5po6eF80zwyNgy5zjsAuiyV2nk1LdxZaOTFJCeOombvkjp\/nX0VRjlmN1vdx23b4QtMMmprubzWRgUkB4KeF2+43yfHn8\/Ra1c4YY6eFkMLAyNgw1rRsAuiSllimvu477t8sIiKTYIiIAiIgCIiAIi+EgDJOAEB9RUNw1dQUknYUwdXTk4DIdxnwz+2VGNXq6uP3FDBRRk5BkILgPPJ\/RWoPrsc77TDOI7v03NOizAsWo5cyT38sk6NjaeH9PovL4dX21jpG1MFexv8HD3j+Q+q90LzPO\/kt3B4\/r3NSszq6Z1VLQ2aFze0qpQ54PLhB2z5Zzy8FYWjUNJdKGSdxEEkDSZ43H8AHM+irNNxvut5rb9LngJMUAztj\/tj5lIpxbb6EWzVsYwg\/i\/HX2NNDE2GFkTPwsaGj0CL2izOwIiIAiIgCIiAIijXCuhttDLVzuAbG0kDOOI9APMotzxtJZZU6nvE1HFHQUGXV1Vs1rRu1pyMjzzy9\/BTbHZ4rLbxTsPHI48Uj\/5nfsqrTNDLXVUmoK4ZlnJ+HaSfu27g\/sPL1WnWktlpRzUp2S76X9fL\/IREWZ1BERAEREAREQBF5c5rGF73BrWjJJOAAsxV3uvvlS6gsDSyJpxLWHYD08PqVUYtmVlsa+eXwixvGo6S1HsW5qKt2zII9znpnw+qrI7Hdr87t71VPp4HHIpIjjA6Z6D3yfRWdl05SWj77eercO9M\/nnrjwVwq1KPwmKqnbvbx5e\/mQbfZrfawfg6Zkbjzfzcfc7qciKG2+TpjFRWIrARFS36\/fZ\/DR0bO3uE20cY34c9SiTbwjyc41x1SM5qaOCfU8dHQSMhkqQ2Ooc3YcRd1x15ZHottR0kNBSR0tOzhijGGhYivszrQ621U8hlr6iqD5SD1znb3K3y1seySOPssf5JyksP3\/3cIiLE7wiIgCIiAIiIAsjWOdqu\/wDwEZd9nUTszuGO8\/cbfQe5U\/VV0lpqZlvowX1lZljWtG4adiR5\/wB\/BT7JaYrNbmUzMOk5ySAY43f5stF4Vq6nJZ\/NPu1wufb3J7WhrQ1oAAGAB0X1EWZ1hERAEREAXlzmsYXvcGtaMkk4AC9LNaoq5quogsFGfvaogzOAzwMz\/Yk+XqqisvBlbYq46jRtc17Q5jg5p5EHIK5VlZT0FM6pqpBHGzmT9B4ri6SlslqaZnhkMDAM4xk+Q8T4KgpKSp1VWNuFwYY7dGfuKc\/x+ZXqjnd8EWWtYjFZk\/8Acv0OX+v1nN\/HR2ph\/wCqQ\/Q7+w8ytVR0dPQUzaaljEcbOQH1PiurWtYwMY0Na0YAAwAF6SUs7Lg9qpUHqbzJ9QiIoNwi5zTRU8TpppGxxtGXOccALE6g1k6oL6S2uLITs6cbOd48PgrjByexhf2iFKzIvL1qRlHIaCgaam4PPC1jRkMJ8fPyX2zWiK0h9bcZ2Pr5RxSSyOHdz0BP1WfstvvE0BFup20Mcn4quf8A3r\/HBxsPQe6l1+nbRaKL4u61U9VLk4HFwmQ+GOfvlaNJeFM4o2WTfeyjxxnZL3+Z21NVU9Xc7LHTzxyn4nfgeHY7zeeFrF+cacozUarhPw3w7Ix23Z5J4W47vP1aff0X6OpsWnCNuyTdmuxrl\/hBERZHcEREAREQBcKyrhoKSSqqH8MUYy4ruspdnu1Ffo7PA8\/C0x46pwyMkHdv6epPgqjHLMbrNEduXwe9NUs1yrptQ1zOGSQ8NOzGzW4xke23z8VqF4iiZDEyKNoaxjQ1rR0A5Be0lLLPaq+7jjr1+YREUmoREQBZ25aimkr\/ALLssYnqs4fIfwsHXy28T+a5X29VVXWGx2YE1DtppRsIx1GenmflurSzWWlsVEWMIMhGZZnbcX7ALRJRWWckpytloreEuX+kfa2vNmsnxFbI180cYaSBs+THT3VZpyh+Fgnvt0cGz1OZCXjHZNyfr9MKKwHVuoHPcM2yhPDw5OJXb4Pv9PVe7q6XUl4+xaZwjo6U8VRI08yNsD03GPHfoqSwsfUxlZqetLKW0V5vzPNDDLq6uNfWgst0D8Qwfznz\/X5LR3CugtVvkqZQBHE3utG2T0AXeGGOnhZDCwMjYMNa0bALF3SSbVWpG2yB5bR0zjxPaM8ubj77D1814vG\/RFyzRDbecvu\/ZFppX46umqrxVSvbHUnhjh\/hwORHpy+a0i5MZBR0wY0MhhibgdGtCoLnra3UeWUgNZJ\/SeFg9+vspw5vZGqlDs9aU5GjJAGScALO3nWVFQAxUZFVP\/Se431PX2WdNRqDVspjjy2nzghvdib6nr+a01m0lQ2stml\/1NQB+Jw7rT5D9Sr0Rh8Rh39t+1KwvN\/ozzbbqDVUjZqtxhp85aXjhaP+VvX1\/Naa1aVttr4X9n8ROP8AiSjOD5DkFPuF0o7XD2tXO2MdG83O9B1WKrtR1+oq2O30TXwQSuDeFh77h1JPhjovU5T42REo0dneZeKb+v8Ag0N21OynlNDbI\/jK5x4eFgy1h8\/H0+eFyt2nZH1H2pfpviKkd5sZPcj\/AE\/T1VrarNRWeHs6WPvEYfI7dzvU\/ooOrriaGzmKLi7eqPZx8OcjxO3y91Ke+mJtOLUXbd06dP8ALImkh8ZXXS7EHE8xZGcfw5z\/APn5LUKDZ7e22WqCkA3Y3Lz4uO5\/NTlE3mRvRBwrSfPUIiKTYIiIAiL45wa0ucQABkk9EBU6lu32Xa3dkT8TP93CAN8nr7Z+eE05aBarcO071TP35n75J3wN\/DP1VVbmnUmpXXVzXfB0R4IAQMOcN\/HxOfktYtJeFaTkq\/lm7Xxwv2\/7CIizOsIiIAqbUt6+yaENhw+rnPBEwcx\/Vj\/N1bSyshifLI4NYxpc5x6AcysxZY332\/zXyXPw0BMdK12fn8sn1Pkrgly+Ec983tCHL+y6ss9PWYWih+9AdVy96aTOcnoM+Sgalr5qypj0\/QHM05AqHAZ7Nm36bny9VaXy8xWWgM7wHyOPDFHn8R\/YKjss1BZIX191rGuuNUOJ4B43tadwCB6ZPsqjl+JmFrjFKiLwuvy92WtV2WmdNPFMBmFmGE4HE89T9ceWF50pbnUNmY+UHt6k9rJknO\/LPnhZ7UeoTebYY6WhqG0zZAXTuG2eg226+KlR2m5XOgbV3O9NiouzD+CDlwgdeQH5qtL079TNXRdv8ayktui+5P1TqCCjtslPSzsfUzdzDHA8A6k\/mFQ6eku0FG5lptfFLNu6rlGBjwBOBt7rxp6hoY55bzWO7Khp3nsWynLnu6cuePLqrWW4XTUbXsoP\/DrY3IdUyHhLhy\/wD3KvCitKMdcrZKyTw+iXPz9PmVNzE8k5pq+4y3KscQGU1Me413n0z5AfJWVo0UZHtqbq1rG8200Z\/wDkf7+6601y01pqMspXmrqOTpIxxE\/9XIDyBVfU6svV2c6C20zomnl2LC9+PXp8k8b2jsicUReqx6n5Lf6vqbKert9op2MmlhpomjDGctvILNV2rKuuJjtTWU0HI1VSQ35Z2+p8lXwaNvVwk7aumERdzdK\/jefl+6j3W2W23udRU0klbWNB7R7jwxwgb9Ovvj3XkYQzzlmlt97jnTpj9z5XGmonMe2q+1LlLh3a5LmRZ5YH8R9eXgtTpawfZtP8XVszWzZLi45LAenr4qk0XYviZxdKlgMMR+5B6vB5+g+vot4ptljwovsdOr+WS+S\/YWUheL9rQyhofS21uA7oX52Pzzj\/AJVaakuptdreYs\/Ez\/dwgA54j19l609aBZ7W2FwHbPPHKQc97wz4KI+GOTqs\/ksVa4W7\/SLVERZnUEREAREQBZ3VdxkEcVmpBxVNd3ef4Wk4\/PcegKvamojpKaWpmdwxxNLnHyCzumad90rZ9Q1jO\/I7gpx0a0DBI+nsfFXBY8T6HNe3LFUeX+OpeWu3xWu3xUkP4WDcnm4nmVLRFDeTojFRWEEXwkAZJwAqu4altVuyJakSSA4McXecP2XqTfBM5xgsyeC1XwkAZJwAst\/tFerqMWi1FkZBxNNy9icD6oNL3O5O47zdnubnPYwcvz2HyV6MfEzD\/sav\/OLf2X3Pmsr5C23Ggpahj5ZXcMnZv3aBuQceKhN1NUUFnjjtlsMdNC0NE9RycTzwBzJOTsT1XO0QWuiuddcn92ioj2UYkw4yP8QD12\/PoNhYUlHUaqrW3G4sMdvjP+npz\/H5la4jFYfBw6rbJOUXiT2SXkuufL8kOisFx1OyO43Wtcxjto2hgyW+Q2A\/VaCh0rZ6HBbSiZ4\/jn75+XL8lbgADAGAF9WTskzur7LXDdrL82c5qeKop308sYfE9vC5p5EL8zvvZW+rlt1vrah9O3uyRl54A4Hljr5+a2epL0+iibQUOX3CpwI2sGSwHr+3z6Kk0damS3OrqZ2iYU54GueM98nc49ufn8rr8Kcmcva8XWKqHPn5ehn6e33a6tijhp55mMHDGSMMaOfM7BaCm0RcamNguFwDGtADYwTIWjHLfYey24AAwBgBfV47pPguv\/j64\/E2yiotH2ejGXQGpf8AzTHP5Db8lcsZFTxYY1kUbRnAAaAuNfcaS2U5nq5hG3oOrj4AdVmT9paxl246K1NP\/VL+\/wBB54UpOW7exu5V0+CuPi8l+ztX3uqvtQbZYchv\/GqtwGjyPT169FUxWiGtuP2Hb35ghIfV1XWQjoPDGcAeO++FeXipi09a4bZaoyypqTwwhu5zkAuPmc4H9lY2G0ss9sZABmV3eld4u\/tyV6tMco5nU7bNM3l9fT0X7J8MMdPCyGFgZGwYa1o2AXtzg1pc4gADJJ6L6s5qqvmeIbLQOBqqwlrwCO6zHI+GfoCsorU8HdZNVQyRqBp1FqqS4nvUVAeCHwc4cj8+9\/6VrFEtlvhtdBHRwZLWDdx5uJ5kqWknl7HlNbhHxcvdhERSbBERAERRbjXxWyhlq5t2xjZuQC49AMolk8bUVllFqSofdLhBp6ldvI4PqHA\/haN8Hb3+S0VNTx0lNFTQt4Y4mhrR5BZKy1VLaYZrzdpwKyu7zYwMu4DvsPA7c8cgu4vF9v8A3LTSfB052NTLzI8v7Z9VtKL4XCOCu6KbnLeT4S5x09zRVlwo7ezjq6mOEHlxO3PoOZVBJqypr5XwWO2yVLht2z9mj2\/chd6TR9GyUVFwmmr5\/wCIyu7pPpzPuVewwxU8YjgiZEwcmsaAB7BT4F6m2L7OXpX1fsZpunLtdAH3q6yBpG8EGAMevL8irWh05abfgw0bHPGPvJO+7Pjvy9sK0ReOcmXDs9cXnGX5vdhVt+uTLZaZ5jI1spYWxAnBLjyx9Vyveoqazt7IDtqt47kLdznpnwWRvdtuUraaruk\/+qq5QyOEco2+H5jb9VUIZabMe09o0xcYbv8ABJ0zpua4RQ1FwyKJhL4oTt2hPU+Ww9ceC3bWhrQ1oAAGAB0XxrWsYGNGGtGAPAL0pnNyZtRRGmOFyFX3q7RWe3PqX4c\/lHHnd7v85pd7zSWamMtQ7LyD2cQPeef86qntFpqrtVi83oZJ3p6c\/hYOhx+nuUjHq+Dy2157uv4vx6s+Wq31ENJV6hriX100DnsbjHZjG2PA4A9ApGiYuz082TOTNK953z5for6WNk0T4pBxMe0tcM8weazZ0nVx8UNJepqekLy5sTQe5nfA7yrUpJp7GXdSqlFwWcJ\/V9S8rbpQ25nFV1UcXkTkn2G6oZtU1Vye+msFDJK\/OO3eMNb54\/f5KVSaNtVO4PnbJVvHWV23yHP3yr1jGRsDI2hjWjAa0YAXmYrjcvTfZy9K9N39TPUGle0l+Lvk5rqg8mFx4G\/v9FezzQ0VK+aQhkUTMnG2AF2WY1RUOr62jsED8OqHh8xHRo3A\/In2CLM3ueyUOz1txW\/5Z507TOu90qNQ1TDwvcW0zXAYAG2R5jGPXK1K5U1PHSU0VNC3hjiaGtHkF5q6ynoKZ9RUyiONg3J+g8Spk9T2Lqgqobv1bOF3usFooH1MzhxYIjZnd7ugVXpm2TOe+93HJraoHAIxwM2xt0O3ywolup59UXVt3rGcFFTnFPFnPERvv78\/l0WtVPwrHUyhm6feP4Vx7+wREWZ1hERAEREB5c4MYXO5NGTtlYW83CbV1dFbrUxxhiy9zn90E8uI+Qz67rY3Ovjttvmq5CMMbsPE9AqfRtsNLbXV0zfv6w8fLGGdPnz9wtYeFORx9oTtmqk9nu\/kdLZpKjpXCetPxtSdy6Qd0HyH7\/kr4AAYAwAvqLNyb5OiuuFaxFYCL4SAMk4AVDctXUNI\/sKQGtqCcBkW4z6\/tlFFvgWWQrWZPBeuc1jC97g1rRkknAAWZrdS1NxndQafhMz+T6gjus8xn6lc2Wq96geH3iY0lGTn4aM4J8M\/3WkoqGmt9O2ClhbGwdBzPmT1V+GPO7MM2XceGP3fsVtm05Dbnmrqn\/F1z93TP34T\/Tn68\/TkoWqSftuwDO3xX\/2YtOq69WeK9UYgkkdE5jw9j278J9PRIy8WWVZSlS4Vr\/c5LFUF41PDRvNHQN+Lrnd1rGDIafPHP0+iiiwX+t4YrlesQgYcICcuHgdhn3yri1WOhs8fDTRZeecr8F598JiMedzxyus2itK83z9CttenJn1gul7l+Iq85ZHnLI\/D\/BsPNaNEUyk5cm1dUa1iIREUmgREQBZbTDWXG8XO8uBPFJ2cRO+B\/wBg1aWdr308jWfjLCG+uFjbTBqSko32yjo2U+JHF9S8Y642zz5c99sLSC2Zx3yxZDKbSz9ehqbld6K0w9pVzBpxlrBu53oFnqaiq9V1ra64sdDbYzmCDODJ5\/3+SnW3SkEMvxdylNfVncmQ5aPQHn7\/ACV+AAMAYATKj8PJ73c7nmzZeXv7HmKKOGJsUTAxjBhrWjAAXtEWZ1hERAEREAREQGWvpfer\/TWNhIhixLUkHpzxsfTpzIWn7kbANmNaMDoAqyvsUdS2Z1HO+hqKh7XSzR5LngdOew9FWjQ9HI4Pq66rnd1JcBk+4K08LS3ONK2E5NRy31z9EWlXqO0Uf+9ronH+WM8Z\/JVT9XT1oLLJa56l4IBfI3ut9cfqQrOl0zZqPBZQxvcP4pe\/9VaBoaMNAA8AmYLhZK03y+KSXy937GXGn7xdnl96uRjhcP8Ay9O7b0PT6q6ttloLUzFJAGuxgyO3cfdT0UubexcKIQerl+b3YREUm4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCION PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:43",
    "ubicacionGPS": "LatLng(lat: -23.1006732, lng: -70.4525137)",
    "horaLlegada": "15:25",
    "horaDespacho": "14:56",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:43:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 15:43:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3137', 1, 21773342, 355, NOW(), 
				'14:56', '15:25', '15:43', 3, 'Mantenimiento, ajustes
y limpieza', -1, 
				'', '','1','6411',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781034190.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006732, lng: -70.4525137)' )
				
[09/06/2026 15:43:10] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200656

09/06/2026 15:43:10 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200656'                    
				WHERE idllamado = 12961			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 15:43:10 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12961			
				
09/06/2026 15:43:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12961
            GROUP BY l.idllamado;
            

[09/06/2026 15:43:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12961
                

09/06/2026 15:43:47 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:56 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:56 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:43:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:43:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:30 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 15:47:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:31 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:06 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:08 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[09/06/2026 15:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:26 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:27 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:48:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:47 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:48:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:48:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:48:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:17 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:24 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:43 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 15:49:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:49:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 15:49:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:49:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:49:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:49:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:49:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:49:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:11 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:12 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 15:50:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 15:50:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 15:50:12 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:50:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:50:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:50:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:21 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:22 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:53:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:42 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:29 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:30 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:56:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12954
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 10:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3148
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:56:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                
=========================================
FECHA: 09/06/2026 15:57:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-IJVLBgXnXx11SO5Cjm4-ubnVTJNUShjWph+rZLd7CKjKjSZzEt6
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61814000",
    "serieinterna": "KY3148",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos\nFirmado por alex vega",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12954",
    "observacion": "Entrega de insumos\nfirmado por alex vega",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACLAKIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABAEAABAwMCAgcFBgQDCQAAAAABAAIDBAURBiESMRMiQVFhcYGRobHB0RQjMkLh8BUWJDNSosIHJUNicoKS0vH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQYGAgMAAAAAAAAAAQIDERIhMQQTIkFRMmFxgaHRI0KRscHhFFJT8PH\/2gAMAwEAAhEDEQA\/AP2ZERABERAFZqC5PtVolqI8dJ+FhPYT2+P78lUsteqnxtnbeow9\/W4C3qjw5fJdmsac1GnJi1pcYnNkwPA4PuJVlaqkVlqpajbMkTSQOQONx7VRO0boxyjvKzjJvRWs7FB\/HL1ZZQ290jZqYkD7TCOXjt8MBaSlq4K2nZUU0okieMtcFUXzUdDRh1CIvt1Q8cJp2jI37D9OayMtqvdvt76hzJ6aikfmSGKQ5a3xGe7bfu3TqCkrvIi68qMmovGl9V5m+rLxbaDIqayKNzebeLLvYN1Tya2o3PMdDR1VW\/s4WYB+ff2LzYbFpypphUUzTWEbOM53acci3YfvmtHFDFAzghiZG3uY0Ae5I8Mci8XXqK6aS7s\/0Zz+OajmOaewFjezpSQffhDetSxdaWxBzeZ6M5PjyJWnRcxLoNuZ\/wCR+nsVFl1FS3kuiDHQVLB14X8\/Q9qt1mNRN+xX+011OOGaWQxyFv527c\/Qn9hadEksmhqM5NuE82giIkLhERABERABERABERABERAEVTTsqqWWnk\/DKwsO3eMLB224XJ9P\/Ldvc0P6V7TUcX4WZ3xj1Od+eyurtdKi8VbrLZzkHapqPysHaAVBc9OCz0VPcLTxfaaHrPPMyjtJ9\/orwslZ8zza7dSWKnotX1XNIurLYaWzQYYOkqHf3JnDcnw7grMgEYIyCuO03SC7UDKqEjJGHszux3aCu1Rle+ZupKCgsGhkLhG3TGoqevp29FQVfUmYwYa0+XvHqtcCCMg5BXDera262uakOOJwzGT2OHJcOkbia2zNikP31KeifvzA5H2behTvijfoQgt1VcOTzX59y9RF5e9sbHPecNaCSe4KZrMxeP67WlrpG5Iph0ru4HOf9IWpWX0q03G4XC+SMIMz+ji4uxo\/ThHotQqTysuhl2biTqf2fpogiIpmoIiIAIiIAIiIAIiIAKg1Rd5aSFlvocvrqrZrWjJa05GR4\/r3K3r62K30M1XN+CJvFjvPYPU4CodMUMlbNJqCuy6eckQB2\/Rs5bfDy808UlxMzVpNtUoav0RbWa1MtNCIeLpJndaaU83u\/TkrBESt3d2XjFRSitDI1ccmk7z9ugDnW2rdidgGRGf3y9QtVDNHUQsmheHxvGWuadiEmhjqIXwzMD43jDmuGxCyT21mjKt0kTH1NpldktzvEfr8U\/b8TK77O7\/I\/T9FlrOZ0OnpA13D0kjW59c\/JVtkiNj1SaAucYq2Brmk\/mcBnOf\/ACHqp9X1lPX6XjqKaUSRvmbgjyOx7ivmrYXQU1vu8LR0lI9uduY5jPhke9PHs4etyFZ\/FdVfLZ+WdzVqg1fXGC1CjheBUVjhE1ucEtPPyHZ6q7injmpmVDHDonsDw47bEZysxZidQainvDwfs1L93TA53Pfjy39QpwWd3yNVeV4qnHWX25s0FrohbbZT0YIPRMAJAxk8yfbldaIkbuaIpRSSCKOeeKmhdNM8MjbzcexUMGs6GouDKaOCcxvcGNm4diT4dyZRb0EnVhBpSdrmiRESlAiIgAiIgAiKGrqWUdJLUyEBkTC45PcEHG0ldmb1A998u8FhpnHo2Hpal7cHhH6Z94WniiZDEyKNoaxjQ1rR2Acgs\/o+mmfTVF1qgDNXSFwON+EfAZz6ALRp55cPQz7OsSdV6y+3IIiJDSF4lijmidFKwPY8Yc1wyCF7RAGC1Lp+W0UsslC8m3yOBkic7PRuzsRnnzx3rRQS02otNPhgfxF0XA4E4LXgbZ9Qvur4+k0zVd7eF3+YKjdap6K2U1\/tE4pnima+eInDX9XfHfnuPxV08UVfU8uUdzVkoq8Ws19dPY5ob3LNpaGzQcRrJZDBjByI+fd44x3ZWztNvZa7ZDRswSxvWcPzOPM+1YzSE9NUamnqZ+COWQPfC0u2DnHcDPM4J96365VydimxLHHeN35LwQXxzg1pc4gADJJ7F9WYv1wnudf\/AC9biA54\/qJTyY3mR9fPCnGN2a6tRU4358u9nPI6TWF3fTteW2qkdlxb\/wAV3n7fTzUmo6eGO4WK3wRNjiNRktYMYGWj6rQ26ghtlDFSQDqxjc43ce0lUV862sLMznjJx3b8\/d7lSMryy0RkqUnGleXabV\/roadERRPQCIiACIiACzWsah80dLZ4QTLWSjOOxoP139FpVlqX\/eOvqif8lDFwN8+X+pyeGt+hm2l3ioL5nb39DSU1PHSU0VNC3hjiaGtHgFKiJDQlZWQREQdCIiAOO70zqy0VdOwZfJE4NHecbe9Yqjq6i+0FvsFNxtYwE1btvwh22PIY9cLUakvf8Iog2DD6uY8MTOZH\/Njt+qpdLQz2fUE9sq+HpJYg9rgM5PM4Pt9ivDKLZ5u0NSrKKfc\/ul5kWp7NGy92xkGKeKdohD2D8LgeePUexdcN6uenZW0t8jdPTEkRVTOs53nvv67+am1j1Z7TLz4Knl37j6K5vNdSW+2yTVrGyRHq9G4A9IewYKMV4pNXDdqNSpKLw2t4acyqvOpYfsEcVpl6eqrOrDwDdu+Mkdh548fJdtgssdooxxDiqpRxTSHck92e4e9Zm16Zub6Vt3pZWUlYXl8MRGG8BHrjOdgexW1HqmalnFHf6Y0cvZMGngd8faNvJEo5WiFKreaqVlbp0\/6zTLMXDEmv7awfkgLiRv8A4\/otK1zXtDmODmnkQcgrNM++\/wBoj8b9DTb57Nh\/7KcOfgadozUV3o06IiQ0hEVLqi6z2q2NdSnFRNIGR9XiI7zj9811K7shKk1Ti5PkXSLxD0nQs6XHScI48cs9qLg4mlbDC+V\/4WNLj5BZ3RUL3UNVXy\/3KqcknOcgfqXK1v0phsNc8c+gcPaMfNQaViEWm6Md7S4+riU6ygzNLi2iK6Jv8FuiIkNIREQAXPXVsFupH1VS\/hjYM+JPcPFTPeyNhfI4Ma0ZLnHACyIEusbqH4LLTRv2Bz9679R7AfFPGN83oQrVXBKMc5PQn07Rz3avfqG4Nw4nhp4yNmjvHv8AeV61S19Bc7de2Dqwv6OXA34T+hcPULTNaGtDWgAAYAHYue40TLhb56STGJWFoJ7D2H0OCu4+K5N7Pak4p5637zPa1mjdR26QPHA6cPEg3wMcwo6aKTVt3dV1DXi1UxxDGdhI798\/QKkhirrxPRWGQNIo3uDpWO4uFu2d+W2MBfodLTRUdLHTQN4Y4mhrQnlwJLmZqSe0VHN9nLza5eRMuetoKS4Q9DVwMmZ2cQ3HkeY9F0IoaHptJqzMlJbLvpqR09pe6sozkupn5PAPAZ38x7Co9K1sdw1JcqyQiOWVoEcbj1uHPywFrKqYU1JNOcYiY55z4DKxlj0xBd7E2rkllhqnyucyYHPhuO3cHuKupJxeI86pSlTqxVPNZu3pl9TcIspHe7pYJxT3yIz05JEdVGMk79u\/6+a01NUw1lOyop3iSKQZa4dqlKLRsp1o1MtH05kqytSf49q+Kmbh1LbOs\/tDn53HPvAHoe9W9\/urbRa5J8jpXDhiae1x7ceHNQ6Ytb7Zax0wIqJz0kvFzz3HdNHhWInV+JNU+Wr\/AAi5REUzUZnWF2pW2yrtol\/qS1h4eW3ED8Arq0MEdmomDsp2D\/KFSa3tsE1rNw4SJ4C0cQ7QTjf2qC3arfQU0NPdqCWBjY2iOZjSWuGNvh2Eq2G8FhPP3u72iW86ZeprkXJRXShuTSaOqjmwMkA7jzB3C6XvZGwvkcGNaMlzjgBSs0b1JNXTyPSjmmjp4XzTPDI2DLnOOwCqq3VVoogR9pE8nZHCOIk+fL3qrioLnqqVtRcy6ktwIdHTtO7+4\/r7AmUObyRnnXV8NPN\/7qRyyVusqnooOKmtMT8Peech\/fZ2cytVSUdPQUzKemiEcbBsB8T3le6enipYGQQRiONgw1reQUiJSvktBqVHA8UneT5+3cFntSXmSAstVvw+uqjwbH+2D8CfdzUl\/v5oC2hoW9NcJtmMAzwZ7T4+C9WCwC2h1XVu6avm3kkJzw57B9V2KSWJiVJupLdU\/N9P2dNjs8Vlt4p2HjkceKR\/+J30VkiJG23dmiEVCKjHRBERcGKrU8xg05WuGcuZwbeJAPuK96dg+z6foo8Y+6DiPPf5qt11L0dgazP92ZrcehPyWgp4ugpootvu2Bu3gMJ32EZo57Q30S9T7LFHNG6OWNsjHDDmuGQfRIoo4ImxQsbHGwYa1owAF7VHqi6voqJtJTDirKw9HE0YOMnB29cBKk27Fak404ubK\/DtR6tzguoLaf8Ate8fr7m+K1irbDa22i1RU2B0pHFKR2uPP2cvRWSabu7LQShBxjilq837eQRESFzgvlL9sslZBjJdES0Y5kbj3gLj0tLHXaZp2StbIGAxva4AjY7beWFdEAjBGQVl9ME229XKzP6rQ\/pYQcDI\/wDnD7FRZxaMtThrRl1uvyjrqtHWqeQywtkpXnthdgd3L6LnboW28XFLU1cp8Xj6LTIubyXUZ7LRbu4orqOwWqhx0FDEHD8zhxO9pViiiqamCjgdPUStijYMlzjgJbtlVGMFkrIlWevGopG1Attmj+01ztiW7tj+XyHauSovVfqKV1FZI3xU+QJat22B4d3x8ld2eyUllp+jgbxSOHXlcOs4\/IeCeyjnLUzupKtw08l19vc5bDp8Wziqqp\/T182TJKTnGewfVXaIkbbd2aIU4044YhERcHCIiAMxrQGQ2yHBIfUjbs7B81p1mNbh0VLQ1rRvT1APz+SvprjRU9KKqWpjZCRkPLtj5d6o84oywaVapfu+x6rKyCgpJKqpfwRxjJPyCztgp5rzdZb\/AFrCIx1aRjsbNyd\/T4kqL+p1lVgkPgtEDs77Old+\/YtZHGyKNscbQ1jAGtaBsAOQQ+BW5nI\/HmpfKtO99fA9IiKZrCIiACotQ2WStMVwoXdHXU3WYQN5ANw32\/Eq9RdTad0JUpxqRwyM9Qavo3tMN0BoatjuF0bmux55xt6rsl1PZIQC64RnIz1AXfALrq7bRV4AqqWKbHIubuPVc0enbNF+G3QH\/qbxfFPeDIW2hZJp+Nyrm1bNWudDY7dLUvG3Svbho\/fiQvlPpmtuU7KvUFWZi3lTs2aPPG3s9q0scUcLAyKNrGjk1owF7Rjt2VYP47k71Xfu0X0I4YYqeJsMMbY42jDWtGAFIiKZq0CIiACIiACIiAIaqlgrKd9PURiSJ4w5pVNDouzRSOc6KSUEghr5DhuO7GD7VfomUmtGTnSpzd5K55jjZEwRxsaxjeTWjAC9IiUoEREAEREAf\/\/Z",
    "razonSocial": "SERVIU II REGION",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ALEX VEGA ARAYA",
    "correoContacto": "avegaa@minvu.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552415166",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I1045\",\"id_control\":\"28970\",\"cantidad_usada\":5,\"cantidad_asignada\":5}]",
    "horaSalida": "15:58",
    "ubicacionGPS": "LatLng(lat: -23.646619, lng: -70.3992021)",
    "horaLlegada": "15:49",
    "horaDespacho": "14:58",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 15:57:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61814000

[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61814000', 'KY3148', 1, 19969062, 0, NOW(), 
				'14:58', '15:49', '15:58', 10, 'Entrega de insumos
Firmado por alex vega', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781035075.png', 'Entrega de insumos
firmado por alex vega', null, 'COMPLETADO','LatLng(lat: -23.646619, lng: -70.3992021)' )
				
[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200657
[09/06/2026 15:57:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200657', 'KYO-I1045', 5)
				
[09/06/2026 15:57:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 5
				WHERE
				    IDcontrol = 28970 and
				    IDproducto = 'KYO-I1045'
				

09/06/2026 15:57:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 5)
                WHERE ID = 'KYO-I1045';
                
09/06/2026 15:57:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200657'                    
				WHERE idllamado = 12954			
				TO ENVIO: micorreo@miempresa.cl, avegaa@minvu.cl


09/06/2026 15:57:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12954			
				
09/06/2026 15:57:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:57 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12954
            GROUP BY l.idllamado;
            

09/06/2026 15:57:59 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 15:57:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:57:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:57:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12954
                

09/06/2026 15:58:53 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 15:58:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[09/06/2026 15:58:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 15:58:53 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 04/06/2026
        )

)

09/06/2026 15:58:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:58:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 15:59:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 15:59:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 15:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 15:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:03:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:03:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:03:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:03:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:04:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12949
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 08:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69020400
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3131
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                
=========================================
FECHA: 09/06/2026 16:07:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-A1uwTAG6yeU7_4hfjDzKh4Xmw3-PXt8FA5RBgHpr2HtoNG3DWi3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69020400",
    "serieinterna": "EP3131",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "2042",
    "contadorColor": "6268",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes\ny limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12949",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADFAQADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABHEAABAwMCAgcFBQUECQUBAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMyQtHwFSQzUuEHFkOiJTREU2JyksLxJjU2grLS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwYFBAICAwAAAAAAAAECAxEhMUEEEhNRYXEiMoHB0ZGhseEj8CQzQnLx\/9oADAMBAAIRAxEAPwD9mREQAREQAREQAREQAREQARF4lljhidLK8MYwZc5xwAEAfXPYwAvcGgkAZOMk8gvSyH2+s6\/8cNpp3eBld+vTPetc0BrQ0bADATSjukaVXiXaWGj5n1ERKWCIiACIiACIiACIiACIiAOVU90dLM9hw5rHEHsOFV6UraivsjJ6qQyScbgXHmd1Ku9fSUNBL7TOyIvY4NBO7jjqHMrKae1C+3WllNFbaiqcHOcXRg4GT4FVjFuLMdWtGFZXeFn7G6RZg6wqYh0lRYauKH\/eHP1aB8VYW7U9rucrYYZiyV3KORvCT3diVwktCsdppSdk8fp+S3RESFwiIgAiIgAiIgAiIgAiIgD4SAMk4AWTraqfVta620Diy3xOBnn\/AJ+wD6eqk6nuNRLJHY7bl1XUfxCPws32J6vy8VcWu2QWmhZSU490bucebndZKovCr6mSd603TXlWfXp8nakpIaGkjpadnBFGMNC7IimakklZBERB0IiIAIiIAIiIAIi8SyxwxOlleGMYMuc44ACAPTnBrS5xAAGST1LM1+o6muqTb9Px9PJj36j8LPDq8\/mo0lTWawrX0tKXwWqM4kk5GTr\/APA6uZ6lpqC3UlspxBSQiNvWetx7SetUsoZ5mPfnXwg7R56vt8mdn0tBTW+ruFxqJK2rbC95LnYaHcJIx27\/APhWGjo+j01TnreXuP8A1EfRdtUSdFputd2sDfUgfVddPxGGwUTCMHoWuxjt3+q65Nwx5nIUoQ2i0Vp7liqq7aet93jxLEIpc5EsYAd59oVqimm1ijXOEZq0ldGYtd0q7TcRZrzIX8QAp6g8n9gz+fWtOqrUNpZdrY9nCeniBfA4cw7s8+S8aYubrpZo5JTmWMmN5znJHI+mE8rNbyM9NunPhSd1p8ehcIiKZqCIiACIiACIiACrr3d4rNbnVL8OkPuxxk\/ed+t1PkkZFG6SR3CxgLnHsAWUtsb9TX111qG\/uNIeGnY5uz+e\/wAifIdSeKTxeRnrVGrQh5n\/AG5O0xZ5KWF9wrvfrqr3i5xyWtONvFX6Ilk23dlKdNU4qKCIi4UCIiACIiACIiACIiAPjnBrS5xAAGST1LH1MtVq+5Po6Z5itdO77SVv+If1yHn2KRf66e8V393rdzzmplzs0DmNvLPfstBQUMNtoo6WnbhkYxnG7j1k95VF4FfUxy\/nk4LyrPr0+T3SUkFDTMpqaMRxMGAAuyIpmtJJWRmdbSOfR0lBH9+qnAHWdu7xIWjhibDCyJn3WNDR4BZmpxc9eQRN3joI+J5G\/vc\/mW+i1KpLBJGaj4qk5+n0\/YREUzUFl7M1tt1fcbfEMRTMEoA\/Cdj\/ANx9AtQsxWfYf2gUL+qanLTjwd+QVIaozbRg4S5NffA06IimaQiIgAiIgAiKBeroyz22SreA5w92NpOOJx5D6+S6ld2QspKMXJ5Ip9TVktfVRafoXfazEe0OAP2bdiM49T5dq0FFRw0FHFSwN4Y4xgD5n1VNpa0yU1O65VpL62rHEXOO4YcEA9\/X6di0CaTt4UQoRbbqyzf2QRESGkIiIAIiIAIiIAIiIAKk1Pd3W2gENO\/98qSGRAEZGfxfTzVy97Y2Oe84a0Ek9gWXsrH36\/zXqXPs0BLKVjgcdmfTJ8T3J4LV6GevJ2UI5v8AGrLWwWVloogHe9VSgOnkJyS7s8ArVESttu7LQhGEVGOQUeuq2UFDNVyAlsTC4gdfcpCy2rKiSuqqWwUrvtKhwdKexvVn0J8guxV3YnWqcODaz07nbRtG4UU1zmH29bIXEkdWT8zk+i0a5wxMp4I4YxhkbQ1o7gMLoiTu7naVPhwUQiIlKhZi+f8AzCzefzWnWYvYJ1hZsDPNPTzM20+Rd1+TToiJDSEREAEREAFk2Z1RqXpWv4rbbyMDJAkfvuPP4Adqnaquc1LSMoaNpfV1pLGtbzDcbkd+\/wA+xWFntkVot0dLGBkDMjh+J+NyqLwxuZZ\/y1NzRYv2XuTkRFM1BERABERABERABERABEXGpqoKOndPUytiiZzc5BxtJXZQ6tq5JRT2WmP29a4ceDyZn6n5FXlBRRW+hhpIfuRN4c9p6z5nJWHo6a76kvM9yppH0kLyWdMfws5cI7Tjs6+sLaWu2xWqjFNFJJIOIuLpCCSTzVZpRSjcxbPJ1KkqlsNH0Ji8SyxwxOlleGMYMuc44AC9OcGtLnEAAZJPUshVzVGr7n7FSPfHa4D9rKP8Q\/rkPNJGNzRVq8NWSu3ki6p9SUFTHWTMLxDRgF8jm4ySTsB5D1CgaWpJaqoqb7WMInqXERg\/hb3ZHcB4BQJIGXy4R2W3R9FbKB\/7w4OwHnPx5HB8StjFEyGJkUbQ1jGhrWjqA5BPK0VZakKW9VkpSyj93+sj2iKku+qKS3SezQNNXVk46GPqPefpzU0m3ZGqdSNNXk7F2iy7IdV3VhlkqYraw4LY2t97z5n1Pkutqr7jR3w2W5TMqOKPjjmzhx68Y8j6JtzqRW0XavFpPU0azFb+8\/2gUMYOW08Bc4HqPvfm1adZih\/eNf18nNsEAaO44b\/VENX0DaMdxc2vk06IiQ0hERABcqmojpKaWpmdwxxNLnHuC6rLasqJK6qpbBSu+0qHB0p7G9WfQnyCaMbuxKtU4cHLXTufdOUz7pc59RVIID3OZTMI+60bZ9Mj1WoXKmp46SmipoW8McTQ1o7guqJO7CjT4cLa69wiIlKhERABERABERABERAHKoqIqSnfUTvDI4xlzivzi7XCu1JcYGMaWxSv4aaI9mccR\/PuPYtBdJHaiv7bTE7FHRnjqXB2A4jGR5cvXsXzTMEVwvVXdGRhtNTnoaVo5NGMZHfjH\/UrwtBXeZ5ddyrzVOL8N\/rbP6fk0tBRx2+hhpIt2xMDcnr7T5lSEVZf7syz2uSfI6Vw4Ym9ru3wHNRScmejJxpwu8kVOo62a6V8enre8B0nvVEgOzQM+6fn6BcKqsdIP7uaaiGGgiacHZo69\/mfRVNk\/aVwimprfGWSVLiaqsd+Eb7A9XzOVuLTaaWz0ggpm7nd7z9557T+SvK0MDzqW\/tDcsk9enJe7FotUFooW08LRnm9+N3FSKurp6GndUVUrYom83O\/W6hXu+U9lpw6T7Sd+0UTebj9AqejsFbep23DUEjgM5ZSN2DR39nz7SppX8UjVKpufxUld\/Zdzw+vu+qHuhtrXUVBkh1Q7YvHZ\/QeZV5aLFQ2aLFPHxSke9K\/dx\/IdysI42RRtjjY1jGjDWtGAB3BelxzvgshqdBJ783eX9yCy9D+\/wCu62paPs6SLo+Ln73L\/wDr0V3eLgy2WuerccFjcMHa47Aeqr9IUBpLK2Z5Lpas9K4nPI8vhv5rscIti1fHVjDli\/YvCQBknACzGjs1c9zujtzUT8LT2Dnj\/MPRXF+qfY7FWTA4IiLWnsJ2HxKrdG1FILRHRxTtfUNaZZGjq4if6IS8DZyo09ohF6Jv2+TRIiKZrCIiAOVTUR0lNLUzO4Y4mlzj3BZ7StJJV1FRf6tpE1S4iMH8LO7buAB7Amp5pLjWU1gpieKZwknI\/Cwbj8\/ILRU8EdNTxwRNDWRtDWgDCp5Y9zL\/ALa3SP5\/R0REUzUEREAEREAF5ke2KN0jvusBJ8AvSyWuLw+nhjt9PIWvk96VzH4Ib\/Lt2\/RNGO87Ea1VUoObPelNTSXCQ0VdI6SpcS9j+AAYAHu7eZytUvzTSkZj1Jb3k7SCQj\/pcMfD4r9LT1YpSwM+w1JVKXi0YVVqO5m1Waadn8R32ce+MOPX5DJ8lLqrnQ0QJqauGLAzhzxn05lYu+X6nuV+pBE19VSUxyGRggyP+B7B6rkINsfaa8YQaTxeBNmiOnNIOBJFfX4Dzk8XE7q8hnzV9Z6WKy2SCGeRkfC3MjnHA4judz6LJVVVc9V3mKCCBtK+kBeGSu+7uNzkf8u2Fav0tDn2zUF3fMcjPE8RsB7Mnq8MKklhaTM1KT3m6cbpKybwXUkV+sIGy+y2qB9fUHYcAPD+Z8vVU9up63V9zfJdXltPSHHRsHCASfuj03O55K9u8lJp7T8slvhjhdIOCN0YGST1569t\/JSNNW42yyQwv\/iP+0k7ieryGB5JbqMbpDuE6lVQqO6zaWXTuWUFPDSwthgjbHG0YDWjACq79f47QxsUbRNWSj7KHfffGTj9FdL5e4bPTZx0lTJtDENy49p7lCsNimZUG73Zxkr5d2tP+EPzx6JUl5pF6k23wqWevRfPIWSwzCoN1vB6auecta7cRfTPyWhREkpNu7LU6cacbIIirr5do7PbX1LsGQ7Rszgud\/TmhK7shpSUIuTyRS3viv8AqKCzxk+zUpElS4cs9mfDYd5PYtT7kbOpjGjwACpNNW8W+3OrqxwFRVfazPeR7oO\/P4+aq7lX1uqKp1stOW0bDiaoOwd\/Tu61RredlkjFGfDi5yXilkvwiNqbULbu9tpt7ekY6UNMn+8dnYDuytBp7TkNkhL3ES1Txh8mNgOwd3zVHR2emp9ZU1DTAltFF0krzu57ueT2featsuzdkoxyObNTc5yq1M07dgiIonoBcKyqjoqOWqlPuRNLiu6yupJpLtd6XT9O7DSQ+ocB90c\/LA38wmjG7I1qnDhdZ6dztpKkklFReqkfb1rjwZHJmfqfkFpF4iiZDEyKNoaxjQ1rR1AcgvaJO7udpU+HBRCKurL\/AGqhz09dEHD8LTxO9Aql2sX1RLbTaqmrI5uIwG+mfohQk9BZ7RSg7N4\/U06LL\/8ArCvH+y0DSfE\/93Z8V9GkaqoH+kL5VTZ5taTj4k\/JNupZsXjzl5IP1wL6e40VKcVFZBEex8gBVbUavslOSPajK4dUbCfjyXODRVlhxxxSzY\/3kh+mFYwWS102Oit9OCOsxgn1KPAjn+RLkvq\/go5NdU7g40luqZw0EknDQAOvbKyt1q6uukluVRTcMdYeGJxOQ1rTyb28hk+PatZqipkqaim0\/RYbJUkGUt\/C3y8CT3BQb3RMqb9QWiBh6CkpieEnsBPxwPVWhurGx5+0KpO8XK9rLLV\/CKG2x17qy3imlZE95c2B534dznO3etb\/AHVr6ve432okB5xx5A+Jxz7upZ7T7mzXWzwt3dG6Rzhy23P0X6QuVZNPAfYqMKkG5Y+vRGbfpSxWyjlqZ4XzNiYXEyyHqHdj5da8aLpWUtnmuEjQw1Dy7YbBjfjzyuutKqSO1R0cIJkrJQwAHGRzx64Xq+uZZdIOpmHcxCnby3JGCfTJSXbjZvMu406dVyirKK+7\/Rw0cw1T7hd3h3FUzkNznZvP648lR6nuTr1e46CndmKKTombfeeTgnv7ldTVY07pGlghAFXUR4Y0c+JwyT15Iz8lVaftLIdTiOTA9gi45ncW3Hj6Z\/y+rxtdz+hmqXcIUFra\/rj+yzu0YuGqbZamnMNKwSSb478HyA5fzdS0NyuENroJauc+6wbAc3HqAVDpX\/SF0ud5d\/iSdFGf+Hn193CuUwOqNS9Bzt9vPvHG0js7jzx6A9qRrGzyRphNqDnHOTw\/C+Ttp+3z3KuOobkAXyD93i6mN6j6cvHK06+NaGtDWgAAYAHUvqnKW8zXSpqnG316sIi8veyNhfI4Ma0ZLnHACUqfXODWlziAAMknqWGnulNdLu66V8hbbqJ2KeIYLpHjBwB155nyClX2\/PvD\/wBjWQGcy5EsgGAR2A9naVQUennVl5bb4ZxKIxmomZ91naAevs8fDK0U4JK8jydqruclGmrq\/o3+i0bLc9a1hjB9mt8TsuAP64nfALZ0lJTW2jbBAwRwxj\/ySUoqKnt9KympowyNg2Hb3nvVXq6tNLYpI2by1JELGjOTnny7vmkb3morI1QhwIOpN3lq\/YiaSYaysuV4cDiolLY8jk3Ofy9Fp1BstALZaKel4QHtZmTHW47n4qckm7yLUIOFNJ569wiIlLEevrYrfQzVc33Im8WO09Q8zgKi0fRSvjqLzV71Fa48J7G5+p+AC5asqBV1lNZxKI4nfbVMmR7jB27dx+Hao4lrdUOFFb2GjtEPuGTG7wNsenV69Sso+HuefUqp1udslzf6LS6asoqGT2elaa2pOwZEcgHsJ+gUMUGo78wmuqhbqdw\/gxt94+O+fU+Su7bZaC1MxSQBrsYMjt3HzU9LvJeVFuDOp\/teHJf27Kah0paKFrSKYTyDm+b3s+XL4K3YxkbAyNoY1owGtGAFxra2nt9K+pqZAyNg3Pb3DvUCxXWruzZqiajNPTkjoHE7vG+fp3JXvSV2PHhU5KEVZst0REpcKPX1sVvoZqub7kTeLHaeoeZwFIWVvUr77f4bFF\/q0JElU4d3VnwIHie5NFXZGtU3I4ZvBdzrpekfUyT6grBiaqcejB5MZ+hjwHeoul83W+3S6OHuPHRsOTyJ259zQtLU0pNrlpKXhiJgMcXUG+7geirbHQDTljlNXwBzC+WVzN8gcvgPin3rpsz8FxlBPJXbfUzGhacy3x834YYic95wPzX6GsnoCFgt1VPtxul4DtuAAD9StYiq7zO7BDdoLriZi4\/vuubfTc2UsZlOe3c\/Rq+ajcLhfbdaecTSZ599gO\/s2B59q+2LFTqy9VjiMxEQ5PZnH\/YFmnVVVfNQ1LaQb1p6Pj4SSyLI37tgM\/1VIrHsjLUqWg9d6X2X\/hf24jUV\/lvMu1FQ+7AHDGSN8+XP0XGySFlgvd3cMSVDpC0kdxx8XK+nporPpmohpwAIaZ+Dj7zuHmfErPD92\/s1y33XTHfftk\/ILid8uiHlF03eWdpN98iVQVDrT\/Z\/7Qx3BK9ri0\/8TnEAjy38laaXtwt1jga5oEso6SQ4Gd+Q8guNTZ3V2kYKCMhsjYWOaM4BcB+aiR3XUlLG2n\/Ygk6IBnGHbOxtlK\/EnbmUj\/FKLknZRSWF+5qV8JAGScALM+1axqdm0NLSg\/icQSP8x+S8\/wB2rtc5Ab1dSY8fwqfYfID4FLuLVl+PJ+SDffAnXHVdsofcjk9rmOzY4Dxb955fVZi\/zXippmvub+hEzgIKJh9495Hd375PUtHUQWbSlvNSymYZhtGXDL3ux29XfhcdPWmeoqDfLsOKqm3iYeUbeo46u4dQ708XGK3kZasatWXDk8eSyS68+iKt1LJp+gjtVNwvutz917wf4bTtjw57+J6gtTZbTFZ7cymZhz+ckmN3u\/XJU2nI\/wBq3uvvUwD+CToqc5+6MY2\/+uPUrUpaknkW2WnHzrLJdv2Fla4ftnWtPSDhdBb29JJ177HHrwjHj4LQ3Csjt9BNVyn3YmE+J6h5nAVNo+jeyhluM4+3rZC8nOfd\/qc\/DsXI4JyHreOcafq+y\/ZokRFM1BcqmojpKaWpmdwxxNLnHuC6rNaunfUupLJA8CSseC\/P4Wg7H1z6Joq7sSrVOHBy19zL0FPJqfUhdUuLRMTI\/HU0dQ+AX6TDDHTwshhYGRsGGtaNgFlauH+619iuEcGaCSEQSObklgAaN+\/YHv3WopqymrYhJTTslYetjsqlV3s1kZNjgqblGXmvidkRUmrLi+gsz2Q56apPRMxz3548vmpJXdjbUmoQcnoVT+PWF4dHnhtdE\/ctP8U\/1+A8VrmtaxgYxoa1owABgAKDZLYy02uKmaAHY4pD\/M48zz8vJWCabvgsiVCm4rel5nn8egRFwrKyCgpJKqpfwRxjJP0CQu2krsg6hu37ItjpmYM8h4IW4zl3bjuXLTNm\/ZVv6SYcVXUe\/K4j3m5\/Dnu+arrXSzajuovVdEG0kY4aaF2+cHmfP4+C1apLwrdMtNcWfFeWnz6hZvVFW+rkhsFI77eqcDKf5GZ\/pnwB7VIveo46B3sdG32mveeFsTRnhPafyX2wWI0HHW1rumr5yS97ty0dgRFbviYVJcV8KHq+XTuQNHsFFW3W2lxzDKCxrjuRuM\/L4LVLK3R\/7B1U27OikNHUxcEz27gO\/TW\/FfZdXy1v2Nkt09RKeb5G+630PzITSi5O6J0qsKMXTlmm\/wBFNFdoqGlv2JP3iqnLIxn3iCXZPkCfNaHSdhFro\/aZ2Yq5xvv9xvUPqVj7dbJqvU7KKpYOMTEzgbjAOXfl5r9RTVXbBakdig6j35Ly4L8sqdUPDNN1pPWwD1ICoLs0w\/2fULMAcRYfXJVxrOTg01O3+dzG\/wCYH6Kt1RG6PRdBGNuAxA57mFchku4+0+af\/X3NVTNDKWJo5BgHwXVeWcPA3g+7gY8F6UD0VkFDudzprTRuqal+GjZrRzeewJc7nTWmjdU1L8NGzWjm89gWctttqtS1rbvd28NK3\/V6fqI\/L5+CeMdXkQq1WnuQxk\/t1Z1s9unvld+27q3Mf+ywHdoHMH9czv2LVL4AAMAYAX1clK7HpUlTVtdXzM3U6crqSpmqrHXilMhz0BaBGO3bBHhtsuRveorZ\/wC5WkTxg7yQHqPhn6LUqPXVkVBRS1Uzg1kTcnPwHqmU74NXJSoKN5Qk4\/j6Mx95vtJqN1Db6eV8EUswMxkw3hHV48z19i2sUTIYmRRtDWMaGtaOoDkFkbNYIr6you11iJNW8uia1xbwjPP8lrYYWU8EcMYIZG0Nbk52AwF2pZYITZVUbdSev47fc6IiKRtPL3tjY57zhrQST2BZfTTJLreKy\/TZDCTFA3u\/oMDxJUnWFwfBQMt9Nl1TXO6MNHPh6\/XIHmVb22iZbrdBSM5RNxntPM\/FUXhjfmZZfyVlHSOProd5Yo5o3RyxtkY4Yc1wyD5LP1WkIm1BqrVVSUM+c+6SW\/PO\/mtGiVSayLVKUKnmRlhX6otEYbV0LLjG3\/EiJ4seQ+iq7xqKmuVwtTnxTU7KafinZK3bHE3fA57A9S3qo9VWh90tmadgdUQO42DA94dYVITjvYoyV6FRU2oybXJ45dSTDqKzTgFlxgGf53cHzwpba6jcMtq4CO0SBZGkqdK1cTIrjQso6loxI0tcwZ69x9fBcaqHRkMTpInzTOA2jjc75kbI4avbE4tqnu3vH62NnJcaGGMvkrIGtAySZAsZXXml1DcQ2sq\/ZLXAchu\/HKfAfoeK8WnSctyqRU1FOaKiJy2MvJe4frr27lqodM2WA+5b4j\/z5f8A\/rK74IPqK+PtCySj1vj+ivOsrVCxsFDBNOWgNjjjZwjsAGd+zqXBx1TfAGdGLXTO5u5PI+fyWnhpoKZvDBBHE0dTGho+C6pN5LJGjgzlhOWHJYFXadP0NobxQsMkxzxTSYLjnn4BWiIkbbxZohCMFaKsjy5rXtLXtDmnmCMgp7kbCdmNaMnqAXpR6+CSqoJ6eKXonyxlrX9mQuHXgroxdiurDq2WsmjDIq5z44pDyByCNz5DzW8Wcq9KtfpuK3wvHtFOS+OTGOJx3I8\/oEtep+B\/sN7Z7FVRgDifs1\/fnq+StNKWMTDQboeCrrjfrqi\/mhiqI+jmiZKwnPC9oI9CqbWUPS6bnOATG5rh3bgfVWzK2kkiMrKmF0YGS9sgIHmqm9XqzPt1RSyVsbzIwgNi+0OfAbeqSF95F67g6ck2sUWVqm9otNJNkkvhYST24Ch3rUVLZwIsGeqePchZz7s9izFlrr\/c7ey225zIY6ccL6gncAk4GfDbYdS0tm03T2pzp5Hmqq37umkG48OxM4qL8RGnWqVYJU1bq\/bmV9DYKy7VLLjqB\/FjeOlGzW+I6vD17FqAABgDAC+oklJyNNOlGmsM+fMIiJSoWUvsj79eYrBTvLYoj0lS8Dlgf1x4kditNQ3kWih+yIdVy+7DHjOT1nHcvGmbObXQdLP71XUe\/K5w94Z\/Dnu+apHwreMlV8WXCWWvbl6lvFEyGJkUbQ1jGhrWjqA5Be0RTNYREQBQxWipqNVy3OsY0QwMDKYcWeLbnjqxk+ZV8iLrbYkKahe2uIREXBwiIgCLVWygriDVUkMpH4nMGeWOa809pt1LJ0kFDBG\/+ZsYz6qYi7dibkb3tiERFwcIiIAIiIAIiIAKJXWuhuTOGspmS4GATsQPEbqWiE7HHFSVmjPP0RZnScQbOwZ+6JNvjuptNpuz0hDoqCMuA5vy\/wCeVaImc5PUlHZ6UXdRRk6nGmdT+2kEUFwyJCBsx3PPrv4ErVtcHNDmkEEZBHWo1xoIbnQy0k492QbHG7T1ELOUV0rdMvjt95jzRjLYapgzt34+XMd6bzrqRT4Emn5X9n8GtRcaerp6tgfTzxytIz7jgdl2UzWmnigoV0utLaKQ1FS7bk1g+889gUG66oore7oIc1dUdmxRb4Pef0VDt9kq7rXNu19AyP4NJjZnZkfT17E6jrLIzzrXe5Sxf2Xc+WOiqLvcP29cmuaWnFNC4bNHUf1179i1CIuSldlKVNU42zer5hERKVCIiACIiACIiACIiACIiACIiACIiACIiACIiACIiACIiAC5z08NVEYaiJksbubXtyCiIBq+DKKfRVqkkMkDp6Z+cgxP2HquJ0NSyfxrhVyZ5+8N\/UFET8SXMzPZaL\/4ltbbFb7UXOpoB0jiT0jt3eAPUPBWKIlbbzLxjGKtFWCIi4MEREAEREAf\/9k=",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE MEJILLONES",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "LUIS OSORIO BERRIOS",
    "correoContacto": "losorio@mejillones.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56552557314",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:07",
    "ubicacionGPS": "LatLng(lat: -23.1006637, lng: -70.4523505)",
    "horaLlegada": "15:55",
    "horaDespacho": "15:43",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:07:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69020400

[09/06/2026 16:07:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69020400', 'EP3131', 1, 21773342, 2042, NOW(), 
				'15:43', '15:55', '16:07', 3, 'Mantenimiento, ajustes
y limpieza', -1, 
				'', '','1','6268',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781035643.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006637, lng: -70.4523505)' )
				
[09/06/2026 16:07:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200658

09/06/2026 16:07:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200658'                    
				WHERE idllamado = 12949			
				TO ENVIO: micorreo@miempresa.cl, losorio@mejillones.cl


09/06/2026 16:07:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12949			
				
09/06/2026 16:07:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:07:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 - INPUT: {"rutTecnico":"21773342"}
[09/06/2026 16:07:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:07:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:07:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12949
            GROUP BY l.idllamado;
            

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                

09/06/2026 16:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12949
                
[09/06/2026 16:07:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:07:40 - INPUT: {"rutTecnico":"21773342"}[09/06/2026 16:07:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:07:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 16:12:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:12:45 - INPUT: {"rutTecnico":"20988335"}[09/06/2026 16:12:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:12:45 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => VENTA
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONGREGACION SALESIANA
            [ciudad] => LA SERENA
            [RutCliente] => 80230500
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 28/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 27/05/2026
        )

)

09/06/2026 16:13:05 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:05] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:07 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:07] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:09 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:13:09] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12957
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                
=========================================
FECHA: 09/06/2026 16:19:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Bdj+vFh_y+cz1YV.reNhR9Nkp1dTBf9QttAaY6CcNHIctbKWrmQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "BR1815",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "125668",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza mantenimiento preventivo y se combate unidad de imagen\n01 runi2042",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12957",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADOAPIDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABHEAABAwMBBAYHBQUFBwUAAAABAAIDBAURBhIhMUETUWGBkaEUFSJxscHRFiMyVJMkM0JS0geCkuHwJTQ2VWJywkNzdKOy\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAIDBAH\/xAAyEQACAQIEAggGAwADAAAAAAAAAQIDERIhMVEEQRMiMmFxgZHRFEKhscHhIzNSJDTw\/9oADAMBAAIRAxEAPwD9mRF8JAGScAID6iwKvWlopJTGHSzlpwTEwEDvJC9dv1Fa7k4MgqQJCcBknsud7hzUsEkr2KVXpOWFSVzUREUS4IiIAiIgCIiAIiIAiL45wa0ucQABkk8kB9XhuF5t9rA9LqWsceDBvce4b1h1F4uV+rn0VicIqePdLVEfA\/6K91u0nb6N3TVANbUHe6SfeM9jfrkqzCl2jL006jtSWW708tzyfaqtuDtmzWiWcbx0su5oPw8wgptYVbtqSspqNud7WgE\/A\/FUwAAwBgBfVzGlojvQSl25vyyJgWnVMRzHe4n434e3ifAr4anV1v8Aamp4K+Jv4jEPaI7AMHPcqhEx7ofDpdmTXn7mRZ9SUd2Ih\/cVW\/aged+RxwefBa6ndV2oS0hulKOjrKT2w9u4lo4+HFa1prhcrXBVjGXt9rH8w3HzSSVsSO0pzUnTnrvuj2IiKBoCIiAIiIAiIgCmdQzy3K7U+n4HyMbKNud7OTd5we4eY48FSkgDJOAFLaVHrG73K9PGQ9\/RRHJ4cefYGqyGV5bGbiG5ONNc\/stSgoLdSWynEFJCI28zzcesnmvDddNUFzBkDBTVI3tniGCD2jn8e1bCKCk07lsqUJRwtZEtb7xW2e4MtN7eHNdnoapx\/EOWT9eCqVn3q1RXi3SUzw0SYzE8\/wALuX+a8Wk7hLVW11LU5FTRP6KQOO\/HLPgR3KbtJYkU03KnPo5O6ensbqIirNQREQBERAEREAUpdKubUV1NkopA2kYM1Mzd+cHgPh7\/AHLR1Rd3Wu3BsBPpNQ7YiA49p+XeF3aftDLNbGQcZX+3Kf8Aqxw9wVkeqsRlqt1Z9EtOft5nsoqKnt9KympowyNg3Dr7T2r0IirNKSSsgiIh0IiIDornsjoKh8gBY2JxcDwxg5WLokOGnWZJwZXY9y9Wqqn0XTtW7O+RvRjt2jg+WV32CnNLYqKIgAiIEgDGCd5+Kn8hmefELuX3f6NBERQNIREQBERAEREB4rxMaezVko4tgfjdnfjcvFpGLotN0xOdqQuec88uPywvRqJu1p+uGcfck+G9cNMO29OURxj2MeBIU\/k8zM\/+wvD8mqiIoGkKXoMUOvK2DJDKuLpGjHF24\/1KoUxecQ60tEwGC9pjyfef6j4qcOaM3EZKMtmvYp0RFA0hERAEREARF4L5W+rrNU1IOHNZhm\/+I7h5ldSu7EZSUYuT5GHSxm\/awmq3+1S232I9+QXjh55PcFVrF0nbxQWKEluJZx0rz7+HljzW0pTedlyKeHi1DE9XmwiIoGgIiIAiIgJjV5NXU2y1NJ\/aJw54HVwz5nwVM1oa0NaAABgAclL2fau2ra25uJMVIOhhyO7d5n+93KpVk8komWh1nKpu\/ogixNXVk1FYnvgLmue8MLmkbgc9h93LjxWTLbrnYI23K1VklZTEB80UhyXDiT7t5O7f71xQur3O1K+CTSje2pYovFarrTXejbUU7ux7DxYeor2qLVsmXxkpK60CIi4SCIiA8d2i6ez1kXN0DwPfgrP0dL0umqYc2FzT\/iJ+a23AOaWneCMFTOh3GOhrKJ\/46eoOe8Y+LSrF2GZp5V4vdNfZlOiIqzSFMaj\/AOJrH\/7p+LVTqYv\/ALeq7KzhhxdnvH0VlPtGbiv6\/NfdFOiIqzSEREAREQBTWuHuNqgpmfjnqGtGerB+eFSqY1fvrLM0gEGp35Ha1Tp9pGbi\/wCmRSQxiGFkQOQxobn3LmiKBpCIiAIiIAszUVxFsss84fsyOGxERx2jwx7t57lpqVujW33VdNbd7qajHST7sgu44+A7ypwV3mUcRNxhaOryRp6XoPQLDTscMPlHSvyMb3f5YWuiKLd3cshBQiorkeG80PrG0VNKCQ57PZI\/mG8fBeHSNea2xRse4mWnJifnju4eWB3LcUpKRpzVnSn2aG5D2upr+vxPg4qcc04lFX+OpGpy0f4+p8utFPp25+u7czapnn9pgb1cz7vgexUlDWwXGkZVUz9qN4z2g9R7V3uaHNLXAEEYIPNSM7JNIXf0mFrnWqqdiRg39G7s93LrG5F11bmRa+HliXZevd3+BXouEUsc8LJonh8bwHNcOBC5qs2ahERAFMWrFDra5UpdhtSzpWjrPH5uVOpfUB9A1PablkNa89DI48AM439zj4KcM7ozcRkoz2a9ioREUDSFMVv3v9oNA3lHTk47cP8A8lTqYpT6T\/aDVPbvbT0+ySOGcDd5nwU4c\/AzcR8i717lOiIoGkIiIAiIgCmNXf79Zv8A5PzaqdTGufYoaKfh0dSN\/VuJ+SnT7SM3F\/0v\/wBzKdERQNIREQBERAeK73KO1W2WrfvLRhjcfidyCztKW19LQOrKkZqqw9I9zhvwd\/V3rxXTF81dT2suDqWkHSTNAzk8SM97R3lVasfVjbcyw\/lquXKOS8eYREVZqCzb7aWXi2PpidmQe1E7qcP9YWki6nZ3RGcVOLi9GYelrs64W809RkVdIejlB4nqPlv7Qtaqpoaymkpp2bcUgw4KavUbtP3uG90zHGCcllU0cN\/P5+8dqqIpWTRMljcHMe0Oa4cweBUpL5kUUZNp0p6r6omrMayw3YWSdr56SbLqaUD8PMg9XPv96qERclLE7llKn0aw3y5d3cERFEtCwtY0npNgkkaDt07hK0js3HyJW6uuohbU00sD\/wAMrCx3uIwuxdncrqwxwcdzotVX6daqaq5yRgu9\/PzyvWprRk72UtVa5s9JRTEYIxuJPzB8VSrslaTRGhPHTUgpfSP7XX3a5HeJp9lh7Mk48C1bF9qvQ7HWT7siIgZ6zuHmV5tJ0vounabOdqUGQ5HXw8sKSyg2Vz61eMdk3+DZREVZqCIiAIiIAsLWVOZ9OTEDJic148cHyJW6uitpxV0M9Mf\/AFY3M8RhSi7NMrqwx05R3RwtlS2stdLUNIPSRNJxyON48V6lPaKqHS2LoHgh1NK6PBG\/r+ZVCklaTRyjPHTjLuCIiiWhdNVUx0dLLUynDImFx7l3Kc1jVSupae1UxHTV0gZjP8OR4b8ealFXdiqtU6ODkcdGwyTU1TdajBmrJSdrHIdXZnPgqVdNJTMo6SKmjADImBowOoLuSTu7ijDo6aiERFEtCIiA6auliraWSmnbtRyt2XBZ+nbdW2u3mkq5Y5GseeiLM7m9ue1ayLt3axBwi5qfNBERcJhERAEREBLVX+yNbw1G5sNxZ0biT\/Fu+Yb4qpWDrCgNZZHysb97SnpWnmAPxeW\/uWlaK4XK109XkbUjBtY5O4EeKslnFMy0upVlDfNfn6mLraUyUlJb48dJVTgY4nA7PeQqOGJsMLImfhY0NHuCmYWm765llJJgtrdkb9233duf8PcqlJZJIUetOdTyXl+wiIqzUEREAREQBERATFt\/2VrOtoTuirm9NHnm7eT\/AOfgFTqa1cx1JJQXmJpLqSYB+ObT1nq3Ef3lQwzMqII54zlkjQ5p6wRkKyeaUjNQ6spU9ndeD\/Z2IiKs0hS7QK3+0J+0NptFANnO8A4H9SqFMacIn1LfJwdzZAz373D\/AMVOGjZmr5yhHv8AsinREUDSEREAREQBERAEREAREQBERAcXsbJG6N7Q5rgQ4HmFF2m5DTsF4oJ3jbpnF8IHFxO4cf7viVbKB1f6G7VELXyFrS1gqSBwGfpjyVtLO8WYeMbglUjqsvUodIUBpLK2Z5Lpas9K4nPA8PLf3rdXFoaGAMADQN2OGFyVcnd3NVOCpwUVyCIi4WBERAEREAREQHmuNG24W+ekecCVhbnqPI+KxtG1r5bbJQzu++opDGRz2eXnkdyolKVuzYdYRVpAbTXBpZIf5Xbsnx2T3lWRzTiZa3UnGr5Pwf7KtERVmoKZ0bl7rnMTtF9T+LPHj9VQVc3o9HPPkDo43OyeWBlYmiIej081+COllc738B8lNdhmaedeC2u\/wUKIigaQiIgCIiAIiIAiIgCIiAIi4GaISiIyMEhGQzaGSPd3FAdFxr4rZQy1c29sY3NyAXHkBlSlFp+a52Our6pu1W1w6SLPIZ2hjqzw92FuX6yzXmWjjMwFJHIXTR8C7dxB8u8rYa0NaGtAAAwAOSsUsKy1Ms6Tq1HjWS08+Zj6VuLrjZIzJ+9gPQvzzIAwfDHmtlStMH2PWckBOKW55e0ngH7z8cjvCqlyazuuZLh5Nwwy1WTCIigaAiIgCL4XBoy4gDrKz6jUFopR97cIPcx22fAZXUm9CMpxj2nY0UU1LreiLyyipKmqfy2W4B+fkuBvGqKw\/slkbA3rnO8eJb8FLo5cyj4ql8ufgrlQsrUdsF1s8sIA6Vg6SIn+YfXeFm+rtWVf7+6wUzTyibvHgPmjdFtmwbhdaupdz9rA88rqSi73ITnOpFxVN2e9kdti1JSPskbrhVRwzQ5jeHuw52BxxxO7HeudRrWzQOLWySz4z+7j3eeFhVljobJqKl9Ih6a3VHsgyOPsO4b8duD3nqVpBQUdLj0ekhix\/JGApSUFnuV0ZcRJOF0mst2TVRVXfVELqWlpDRUbyQ+aXiQOXjyA7+KpqKlZQ0UNLGcthYGAnnjmu9FW5XyRqp0sLxSd2ERFEuCIiAIiIAiIgCIiAIiIAsa66YobtP6RK6WOfZwHsd1cNx962UXU2s0QnCM1aSuTA07fKLdb788tG9rJgSB8fgvnpOsaRvt0dLVgDe5pGfIj4KoRSxvmin4aK7MmvP3IHUNdda6nifU2aamkpX7bZ25IaOfL3c+S1IdbGSFrzaKk7Q3Fm9p9xx15VRJG2WN0bxlrwWkdYKm9IvfSS19mlcS6llJZnm09Q8D3qeKLjpoZ3TqU6qtPtdy5Hw6uq346DT9XJnhxGfBpXwag1DLgRaee0kfxkj44VQihijsaOhqvWo\/REx6brCcYZbaWAcMudv8A\/wBfJfBZtT1Z\/a722AHlAN48APiqhEx7IfDJ9qTfn7WJkaJp5TtVtwq6l3a4D45XvptLWal3tomSHrly\/wAjuWuiOcnzJR4ajHNROuKGKBmxDEyNvUxoA8l2IigX6BERAeC9W1t1tc1IcbThmMnk4cF4NJXN9bbjS1BPpNGejeDxI5E+GO5byk7m31BqqC5tOxS1p6OfqB5k+R7irI5pxMtb+OaqrTR+H6KxERVmoIiIAiIgCIiAIiIAiLi97I2F8jgxrRkuccAIDki+NcHNDmkEEZBHNEB9REQBERAFK3Yi0aworjubDWN6KUnrGBns\/h8CqpY2q7f6wsUwBAfB960kdQ3+WVODzzM\/Exbp3jqs15GyizrFcBc7PT1O1tP2Q2T\/ALxuP171oqLVnYujJSipLmERFwkEREAREQBERAFnX22+tbRPSjHSEbUZPJw3j6d60UXU7O5GUVKLi9GY2l7mbjaWtlJ9Ipz0UoPHdwPh5grZUtUgaf1YyryGUdxGzJ1B\/X44Pe5VKlNZ3XMp4eTccEtY5ezCIigaAiIgCIiAIvPVV1JRN2qqojhGM+24DPuWHUa0pXTej22lmrpicANGAfn5KSi3oVTrU6faZRkgDJOAFJ3Wpk1NdRZaKUCjiw+ombvBxyH+uPuQWq\/ahO3daj0KlO\/0ePiR2j6+CordbaW10op6WPZaOJO8uPaVLKHiUPHXytaP1Z3wwsp4I4IxhkbQ1o6gBgIuxFWbNAixrvpiivVW2pqZZ2PawMAjc0DAJPMHrXh+w1GNza+sA5DaG7yU0o7lEp1U8oXXj+inRTH2GpP+YVn+IfRPsHbnb5Kuseevbb\/Slo7kekr\/AOPr+imLg0ZcQB1lcDNCRgyMIP8A1BTo0FaQcmarPYXt\/pXL7C2j+ap\/UH0S0Nxjr\/4Xr+jo03NFa7xcrS+Zgia\/pYySAMHHyLfBUbq+jYMuq4GjtkAUHV2mzx3e3MpZ+noqh\/RyFsoJDs439XEKlboqytOTDK7sMpVk1G92ZuHnWScIpZd\/nsavrO3\/AJ6m\/Vb9VxN4tbTh1ypAeozt+qzvsZY\/yz\/1XfVcho+xAYNET2mV\/wBVX1O8034jZer9j2m92loybnSd0zT80bfLS4ZFzpO+Zo+a8g0jYmnIoB3yvPzQ6RsTjk0A7pXj5p1O8X4naPq\/Y9nrq1f8zo\/12\/Vc\/Wdv\/PU36rfqs\/7IWH8h\/wDc\/wDqXD7GWP8ALP8A1XfVOp3i\/EbL1fsafrO3\/nqb9Vv1T1nb\/wA9Tfqt+qzPsZY\/yz\/1XfVPsZY\/yz\/1XfVLQ3GLiNl6v2NP1nb\/AM9Tfqt+qes7f+epv1W\/VZn2Msf5Z\/6rvqn2Msf5Z\/6rvqlobjFxGy9X7DUJt91s01O2tpTKBtxfet\/EO\/nvHeurT+pKOezx+m1kMU8XsOEjwC7HA7+O75rt+xlj\/LP\/AFXfVYV2stusd7pp5abpLbP7DmFzvu3Y45znt39qsjhawmao69OXStLZ5v105FQ7UNnaMm40\/c\/K6JNW2OLjXBx6mscfkubNMWQe02gjORzJPzXojslqi3st9PnrMYJ8Sq+p3mn\/AJD\/AM\/UyZddWiPOw2ol\/wC1gHxIXD7X1M\/+42KrnB4OOR8AVRx08EIAihjZjhstAXYl47Do671n6L3JcXDV1UfubXBTsPAyHePE\/JPUWoq7Hp976EZzswD6Y7FUIu49kPhk+3Jvz9ieptFWqE7U\/TVTjxMj8Dywtunpaekj6OmgjhZ\/LG0NHku5FFyb1ZZClTp9lWCIiiWhERAEREAREQBERAY32Wtbbg2tjjdG4PEmw0+xtZ6j3+K2URdbb1IRpxhfCrBERcJhERAEREAREQBERAF47rbYrtb5KSbdtDLXfyu5FexF1O2ZyUVJNPQnNK3OQxSWiuds1lGSwBx3uaPjj4YVGsS+aeFxkZW0cno1fFgslG4Ox1\/ValE2VtFCJ5OkkEbdp3WcbypSs+siijjh\/HLlo+470RFA0BERAEREAREQBERAf\/\/Z",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REVISIÓN TÉCNICA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:19",
    "ubicacionGPS": "LatLng(lat: -29.9172293, lng: -71.2554731)",
    "horaLlegada": "16:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:19:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:19:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'BR1815', 1, 20988335, 125668, NOW(), 
				'08:00', '16:01', '16:19', 4, 'se realiza mantenimiento preventivo y se combate unidad de imagen
01 runi2042', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781036368.png', '', null, 'COMPLETADO','LatLng(lat: -29.9172293, lng: -71.2554731)' )
				
[09/06/2026 16:19:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200659

09/06/2026 16:19:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200659'                    
				WHERE idllamado = 12957			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


09/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12957			
				
09/06/2026 16:19:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:19:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:19:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:19:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12957
            GROUP BY l.idllamado;
            

09/06/2026 16:19:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:19:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:19:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12957
                

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:30 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:20:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:39 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:39 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

[09/06/2026 16:20:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:20:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

09/06/2026 16:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

09/06/2026 16:20:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:51] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:53 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:20:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:53 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 16:20:53] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

09/06/2026 16:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

09/06/2026 16:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                
[09/06/2026 16:22:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:22:46 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 16:22:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:22:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 16:22:49 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:22:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:22:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:19 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:23:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:23:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:27 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:23:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:23:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:23:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:23:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:44 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:48] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:48 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:31:48] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12958
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2448
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                
=========================================
FECHA: 09/06/2026 16:34:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-8A3heXCRgmlE2OaZ_QjkhoL7uNVx9rcafzGbwi9hWiBW_Evt6rw
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2448",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "249549",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina en buen estado\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12958",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACZANwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABDEAABAwMCAwQHBQQIBwEAAAABAAIDBAURBiESMUETUWFxFCIygZGhsRUjwdHwB0JS4SQlMzVidMLxFiZygpKisuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQMCAwYFBQEBAAAAAAAAAQIDESESMQRBURMiYaGx0TIzcYHBI0JSkfDhBf\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAFzmmjp4HzTPDI42lznHoAuipNX1founZwPamIiHv5\/IFTFXdjOpPRBy6FrSVcNdSx1NO\/jjkGQfl9V2VTpdpbpuiB\/gJ+JJVsklZtE05OUFJ80ERFBcIiID4llZDE+WRwaxjS5zj0A5lZeOtvWo55pLZMKKhZ6jXvbu85zkbeHuypes6w09kMEeTJVPEYAbnbmfy96t7dRtoLdT0jcfdMDSR1PU\/HK0Xdjc5Z3qVOzvZLf7lPaL5Wfaj7ReI2R1QGYpGDDZB+uvh3rQqh1Xbn1NA2tpRiroz2jHNGTjr+fuU+y3Jt1tcNWMcThiQDo4c1EkmtSJpSlGbpSd+afh\/wAJ6IiodIREQBERAEREAREQBERAEREAREQBYTXtYZK2Cib7MLO0dt1dt9B81u1+aXeUVz7pcnDLXVDIIiT03P0YPitqK71zz\/8A0JfpaVz\/ABk3tkj7Kx0LMYxTsJ8yASpy508ZipoozzYwNPuC6LJ5Z3QVopBERQWCIiAzF6BrdX2mixlsIM7u7nnf\/wAfn4rTrMUP9K19XTc208IY3pv6v\/6WnV58kc3D5c5dX6YCyVN\/y1qp1GBw0NwwY+5jug+O3kQtaqTVltFfZZJG7TUwMrD125j4fQJB5s+ZPERbjrjvHPui7RQLJX\/aVnp6o+05mH\/9Q2PzCnqrVnY2jJSipLmERFBYIi5T1VPSsD6ieOFpOA6R4aPmhDaWWdUREJCIiAIiIAiIgCIiAg3qrNBZqqpBAcyM8JJI9Y7Dl4kLGXCk9E0DQ5GHTVIldtzy12PlhXmtpHvoKWgi\/tKucNA7wP5kLlriJsOnaWJnssnY0eQY5b08W8WeZxXec3\/FepqkRFgemEREAUCS708V5itTmydvLH2jXYHDjfrnPQ9FPWY1B9xqqyVA2L3mPPvA\/wBStFXdjGtNwipLqvUaVAlvF7qcZDqjha7w4nfyWnWY0OOOgrJzzkqjn4A\/itOpqfEU4T5Kf19QvmRzGRufIQGNBLieQHVfSoNY1pp7QKWJ339W8RsHXGd\/wHvVYq7sa1ZqnByfI46GDvseZ24jdO7gBHIYH6+K0qj0FL6FQQUuQeyYGkgcz1UhTJ3k2RRg4U1Fhcaqrp6KB09TK2KNvNziqm7aopaCT0Wlaaysds2KLcA+JH0G6hU2na671ArdQykgHLKVh9UDxxy92\/ipUOcjOde70U1d+S+offrrey6Gw0pijBIdVTYxjw\/RK60ukI3yNqLvVzV846OeeAeG+5\/Wy0MUUcETYoWNjjYMNa0YAC+1Ou2I4C4dSzVep+X9HgAAwBgBeoizOkIiIAiIgCIiAIi8c4NaXOIAAySeiAy9X\/WWvKen5x0EXaOH+LmD8S1dtctLtP5H7szSfmFF0zVwdvcrxWTxwtqZcRmRwbsMnbv5ge5eal1Baa+y1FLBUl8ji3gIY7BIIJ38lvZ60uh5bnB0JybzK79jU0zmvpYntOWuYCD3jC6rNWrVlojttLDUVRjlZE1jsxuO4AB5BXFNeLbWP4Kethkd\/CHjPwWTi1yO6nWpzStJE1ERVNgsxrDAntLx7YqfVHPPL+S06y+qPvb\/AGODp2\/ERnmOJv5FXp\/Ec3F\/Kf29Ue6B\/uOb\/Mu\/+WqZ9tTu1YLQxkRhbHxPdg8QOM9+Oo6KHoH+45v8y7\/5aomn8VetrnVNwWMDwD\/3AD5ArSSTlJs5qc2qVKMeb8jZLKQEXzWz52+tTW5vCDnYu33+Of8AxVtqK6C1WmWYOAleOCMZ6nrzHJVNJW02lbKyKX765VH3j4QcuLncge7H1yqwTtdGtecXNRk8LL\/CNLV1dPQ07qiqlbFE3m5363WXdW3fVMrordmhtwPC6dw9Z\/f\/ALD3ldKWxVt8qRX38ljAfuqRpwAPHu+q1EcbIo2xxsaxjRhrWjAA8AoxDxZa06++I+b9ivtFiobNFinj4pSPWlfu4\/kPBWSIqNtu7OmMIwWmKsgi8c4NaXOIAAySeiztfq6Bs\/olqhdX1JOBwexnz6+7bxUqLlsVqVYU1eTNGqqu1Labe5zJatrpG7FkfrHPu5KqNhvl4HFd7l2ETjk08O\/uPT6q2odOWm34MNGxzxj7yT13Z79+XuwrWit2Y660\/hjZePsVf\/FdbXbWizTzDP8AaS7NHnjb5q6tL7k+i4rrFFHUcR9WM5HD0zud+amgADAGAF6qtp4SNIU5p3lK\/oERFU2CIoF2u9LZ6Qz1Lsk7MjHtPPgpSvhFZSUVeWxJq6unoad1RVStiibzc79brG3rVVZXUM32dTvhoweB9S7m7O2B3fXyU2jtFbqGpZcr2SynB4oaQbDG3Pw+ZTUrWVl1tVkia0Rl\/aPY0bBvkPAOW0FFO25wV51Z021hbLq7+h7Z9GW70OCorWPllewOcwvw0EjPTCtK+zW9lnqo4KGBjuxfwkRjIODg5VsvHAOaWncEYKzc5N3bOmPD04x0pGb0pR0FdpyHt6Onle1zmuLo2k5yfDuIUit0fZ6uPhZAad4Gz4jj5HYqLoZ3BbqqlccuhqDnyIH4grTq05NSdmZ0KdOpQjqingyUhvWln9oXvuVtHtF3tRjfx+fLyWloa6muNK2ppZA+N3xB7iOhVZX6ihpL7FaZKfjbMAHSF2A3Odsdeiq62B+kLiLhRtc+31DuGaEfuHw\/D4dVLWrff1KKapN6XeK38P8AhEnv9cNWOkZM4UkdQKcsPskcj8cEqffD22sbfC0bxwOkPwccfL5rO07HSUlBK\/nU3El2P+z8SVpaYNq\/2gVbsAtp6fh8zhoP1PwWkklldDkpylNWb3kvc80jO2j0rUVDnAtifI8nfoAuOgWF0NdUu3fJI0Fx68z+KrKar9E0XcabiHE6q7Nocd98Z28gVVQXGuhtDqGnPZwzSklzR60hw0cP0+KnRfV4lVxCpum3yXnsW98rKu96nZBbmdr6IeGIYyOIHdxztjOOe2wWks2m46B5rK1\/pde88TpXbhp8M\/X6KRYLQyz22OLhBncOKV2Bni7s9QFaLGU8aY7HfR4bPaVMyefoERVt2v1DZmD0mQmRw9WJgy4\/l71mk3hHXKcYLVJ2RZKiumrKKhf2FKDW1JOBHEcgHxP4DKr+zv8AqZ3FI42y3k+xuHvH1PyHmr22WSgtEYbSwjjxgyu3e73\/AJK9ox3ObtKlX5asur\/C9ykjtV71A7tLxOaOlzkU0WxcPHu9+fJaGgtlHbYuzo6dkQ6kDd3meZUpFVybwa06MYO+76vcIiKpsEREARFxq6qGipZKmoeGRRjLnFCG0ldnG6XSntNG6oqHDYeqzIBee4KjtNoqLtWi9XluSd6enPJg6ZH67yuVtp5tUXVt5rG8FHAeGnhO\/ER1Pv5+WOi1q0fcVlucsV271y+FbLr4+x45wa0ucQABkk9Fl9OAXa\/V97JcYw7soAe7\/bG3iVY6prjQWCoe1xD5R2TCDjc8\/lld7BQfZtlpqcgh\/DxPyN+I7ke7l7kWIt9SZ9+so8ln78ixREWZ1GY00RBqG90pPOXjaPDLvzC06y4zb\/2gEH2K+DbzA\/NvzWmc5rGF7jhrRknuC0nvc5eGxFx6N+5+e3yndX3a81bSc0fBgA+IafoT8VrKyoZW6RmqJWh3aUZeQRtxcOfqqWwUzrhZL1VvaSaxz+EdScE7dOZ+SU1W0\/s4l3ALGuiO+Ny78itJZsujOKk9OqT\/AHJvzf4ZS2KY1lytFEY9qad0gI68nZ\/9VOo7\/HQXi7VDYX1FTUTcEEbRzAJ5\/wDqqi1QVVVdI47XIYpuy3fyLfVw7HXv5b7rXaKtggt7qyopi2pkkdwvkbh3Dgcs+OVpUsrtnPwqqTaUcZefokjHx0FVWXo08sDhK6oDZWtbszJ3yRyW6odI26huXpzDI4tcXRxuPqsPTHl4qLSAUuv6uMjDamAPbnvwPyctOsqlR4sdvCcNBXcstP0C+JZY4InSzPbHGwZc5xwAFBu97o7NB2lS\/L3D1Im+0\/8AIeKo4rfddUStnuhdSUAIcynbsX+P8z7gs1G6u9jqqVrPRBXl\/tzpU6irbtO6i0\/ATg4dVPGGtHhn8fgp1p0xS0DvSKo+mVjjxOll3wfDP15q1paSnooGwU0TYo28mtC7I5cokQoXeqo7vyX0CIiodIREQBERAEREB8uc1jC97g1rRkknAAWSPa6zr8NL4rTTPwd8ds7\/AG+APiperqyV0dPZ6Unt654DsdGZ\/E\/IFXlBRQ2+jjpYGBrGDoOZ6laLuq\/M5J\/rVOz\/AGrfxfT3OsUUcELIYmBkbAGtaOQC+0XjnBrS5xAAGST0WZ17GYvv9aaot1qG8cP30oI9+M+Q+fw1CzGlQa+5XK9PG0snZRHP7o36+HCtOtJ4tHoc3D95Op\/J+WyCIizOkzGsgaZ1uujMk0s+CB1B3\/0\/NW16qhHp+rqInggwHgcPEYB+ar9WXK2ttNRQzzgzvb6kbN3Bw3Ge7cLLS1V5rdNudJUNbRUvDEWA4c85GAeu2Rz7lvGOpK55lasqdSajm65cmWtq1DBbbFS0NBC6rr35JjaDgEknfv26BZ2qon0RqYK8Pp5msbLDCN2kkjPyz8F+haetlLQWunkhha2WWFjpH8y4kAnfuz0UTWkMLtPzTPia6RhYGP6t9Yfhn4q0ZpTsuZnV4acqClJ7Lblt6md0Ox0t+MgZtHCckbAch8T+a\/QlldB0HY26Wud7U7uFu3Jrf55+Cv7hc6O1wdtWTCNp9kcy7yHVZ1e9OyOngl2fDpy+pR3n+i6ytFVyEwMJ8eY\/1hdbpqcip+z7NF6ZWHIJbu1n5\/RZ7UNfXXulZXijdBb4H4jefaJPX5eXitnZ7XQ22jYKKMYkaC6U7uftzJ\/QVpJJJvczpynUqTjTdk835\/b+tyvtOl2U84r7nL6ZWnfL92sPhnmtAiLFyb3O6nTjTVooIiKDQIiIAiIgCIiAIiIDL0o9N\/aBVSu3bRwhrPAkAf6nLULKV8407qp1wn4jR1rOFxY0eq4Y59\/LPfv1WngqIamISwSslYeTmOyFpPkzl4dpOUXvdnRUuq7g+hsr2wn76oPZMA5788e7PxV0shcammuOsYoqmRsdLbmlzjI7Ac\/n18ceeCogrsniZ6YWW7waCyW\/7MtFPSkAPa3L8fxHcqeqCs1jbYHiKl7StlJwGwt2z5nn7sqI2TVd4I4WMtdO7OSR6+Pfvn4KdEnl4IVenFKFPNun+sXdyvVBamZq5w12MiNu7j7lR+nX3UZ4bfG620R5zv8AaePD+XxU226RoaKX0ipc6tqM57SXlnvx+eVfJeMdsjRVq\/G7Lot\/u\/YprVpigtbxPg1FTnJml3Oe8Dp9VUNpYLPqp9HUsaaC44fG13sh4OR88j3hbBVt7s8V5o+yeeGVmXRP\/hdhIzd8kVOHSguzWV\/n\/ZYtaGtDWgAAYAHRZnXVdHDaW0exkqHg4zyaN8\/HCiVWob9ZKQwV1HHJIMNZUuOzsjPIe0fLHjzVP9m3fUTKi7VTuFkcTnNe5uA\/hBIa0d3irwp2epvBz8RxOuDp009T8i6pdSdjaqK22emNVW9i0OG5aw43z3\/QZ59FNt+lzJP6dfJfTap2\/A7djPDHXy5Lpo2KBun4ZY4WskeXCR2N3EOPVX6rKVm0jajS1wjOo74wuSId1oW3C1VFHgfeRkN7g4bt+YCrtH1pq7DHG726YmJwxjly+RCvVlbfm1a2q6M5ENc3tWAkAZ5\/XiCiOYtF6vcqxn1x7GqREWZ1BERAEREAREQBERAEREBznp4amIxTxtkYSCWuGRss\/NoumZL2turaihd\/gcSOfmD81pEVlJrYyqUadT4kY252W42y3zVcmp6siNuQ0lw4j0GeNeaf0lTVtDHX3PtZJJzxhnGQC08iTzOefPuUvUDzeLzTWGJ4DGETVH4D4HPvC07WhrQ1oAAGAB0WjnJR8WccOHpzqt2wsdc\/cj0lvo6FnDS00cQ\/wt3+Kkoix3PQSSVkERQrldqK0w9rVzBufZYN3O8gpSvsJSUVdvBNWfueqGRz+gWmL02tdsODdrD49\/63UEPvWq\/YJt1uPJ370o\/H5DzWgtloorRB2VJFwk+0927n+Z\/QV7KO+5y66lb5eF19l+SpoNMPnqBX36X0upO4iO7GeHj5cvNX1VF2tFNCB7cbmgeYwuyKrk28m0KUIKy5lHpCCop7DHFUxSRPa93qyNLSBnuKvERRJ3dy1OGiCj0Cy+rw6jqbbd4xvTzcL8dQd8eWxHvWoVdfqB9ystTSxjMjm5YM4y4HIHyVoO0jPiIOdJpb+xYNIc0OG4IyF6oVmjqIrPSxVbeCZkQa4ZzjGw+SmqrwzWLvFMIiKCwREQBERAEREAREQBfMjiyNzw0uLQTwjmfBfSICh01a6mm9Jr7g3FZVvJcO5vPv\/wBlfIilu7uZ06apx0oIiKDQKPU0FJVvY+pp45XM9njGcKQiENJqzPAABgDAC9REJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:35",
    "ubicacionGPS": "LatLng(lat: -29.9177458, lng: -71.2550972)",
    "horaLlegada": "16:24",
    "horaDespacho": "16:19",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:34:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:34:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2448', 1, 20988335, 249549, NOW(), 
				'16:19', '16:24', '16:35', 16, 'maquina en buen estado
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037280.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177458, lng: -71.2550972)' )
				
[09/06/2026 16:34:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200660

09/06/2026 16:34:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200660'                    
				WHERE idllamado = 12958			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl

[09/06/2026 16:34:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 - INPUT: {"rutTecnico":"24456550"}[09/06/2026 16:34:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 16:34:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 08/06/2026
        )

)

09/06/2026 16:34:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12958			
				
09/06/2026 16:34:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:34:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:41 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12958
            GROUP BY l.idllamado;
            

09/06/2026 16:34:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:43 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12958
                

09/06/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:45 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:34:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12953
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 13458077
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2797
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:46 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:47] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:34:49] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:34:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12959
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2961
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:34:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:34:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                
=========================================
FECHA: 09/06/2026 16:35:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-D-j6c3MNdBSb6MS7iqC836e7_vgr89Ju9Yy7FjeNc86+SmBMO+C
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "KY2961",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina en buen estado, no se realiza toma de contador ya que se debe reemplazar cartucho de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12959",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQALgDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xAA+EAABAwMCAwUGBAMGBwAAAAABAAIDBAURBiESMUETIlFhgRRxkaGx0SMywfAHFUIWJENiguEzRVJTcnTS\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAQDCAIDAAAAAAAAAAECAxESITFBBBNRcSKB0SMyYZGxweHwFKFCUvH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAzd6uNzlvbLTa3sjd2Jke53U8wM+g+KmadvMl3pZRURCKpp38ErQNvf5ddvJQKPDv4h1+d+GlGPLZn3XNsPs2uLnTDIZNGJRv17pP1KuaVrfA8+M5KpibycmvQ0yIipPQCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIuHODWlziAAMknogMzQ7fxEuOds0wx57RpP8A3f8AiHTnGBUU5GfHY\/8AyFl6q\/VL9QvudM7si48LfAtG2\/LPJabVTjSVtpu3CWiKXhk6HBwcZ9wctLi01fdHkRqxlCTX+Mr+TZqURFmPXCIq+7Xqjs9OZKh+XkdyJp7z\/wB+K6k3kiMpRiryeRYKouOqLVbS5j6jtZW\/4cQ4j8eQ+Kqm0N41Qzta+V1voicsgYO88ef3PwV1btP2y1kPpqYdoB\/xHnid8+Xop2jHUz8yrU9xWXV+nqQLdd73dKyGRltbTUBPffK7LiPEcvoi0KKDd9EXU4OKzd2ERFwsCIiAIiIAiIgCIqHU1xqre+3uppODtJ+F4xkOHgV1K7sV1JqnFyZfIiLhYcZAxk8+Sq9S1XsmnqyTOC5nZjxy7b9VnqaoluH8Qnd4tZA97cA42aCPXJ+RUjXdwh9gjoo5mmUyhz2NdkgAHmPeR8FaoWkkYZ8SpUZyWVrooY4aWS5WWizu0MExwNy53HjP+rHktTrWalNjkgknjE4c10cfF3jvjl7iVijRXGmpW3J8MkTO1aWzu2cXcwRnfpnK18mj6OO2VMxkkq6t8LnNlkJ\/NjIIH3yrp2TTbMNDmSpzhGOq\/q2R40eorzcaeKG024O7NjWyTzHYkDfwHNXFnhvzJXyXaqgkjc3uxxtGWn3gDz8V56QqPaNOU+Tl0Zcw7+B2+WFDu98qq+qNpsOXzZxLUN5MHkfqfgqmrtxSNkHhhGpOTbei\/BIvGo3wVIttqi9qrnbEDdsfv8\/2V1tGmeyn\/mF2k9srnHi727Yz5eJHwHRTbJY6ey0xaw9pO\/eSYjd32CtFFySyiXQpObx1ddlsvVhERVmoIiIAiIgC6uc1jC9xw1oyT4BdlXX+p9ksVbNnBERaDnkTsPmV1K7sRnLDFy6GfsOqayouTY7gAIKtxbA7hAw7OMZ688fBbFYmW2PZoSkqY3Fk9M72lruRAJ6eGxB9FOZrWB8MEdPST1lW+MF8cTcAOxuPHn5K2ccWcUYKFflrDVeqTXmahFmG3LVlUS6C0wwsxt2pwefmR9ENdrCAccltpZm53aw7+mHKGB9UaP5Mf9X8madZjWf\/ACz\/ANkfopFBq2lmlbT18T6CoO3DKDw88c8DHr8VG1S5s11sUTHB3HUcWQc7cTd\/34KUItSzK69WFSi8L6fU1Cj1tdTW+ndPVTNjYOp5nyA6qnueqoaeb2O2wmuqyccMe7W+8jn6fFRGacqqtklyv05mnYwuZTg9xm2cHH0HxK4obyJzr3bjSV3\/AEigstJc7nW1c9DOaWGQntpy7HCCc4zzUa3wQv1DR9iXyU7qpoa+Vv58EE7evLzU6y0F2uFs9jpm9nQ1E5MsvFvgDGD5bcuq1\/8AZygbJQvia+MUJJY1p2cTjd3juFfKai2jzKPDSqxTS0zz77fAanpTV6eq2NGXMZ2g\/wBJyfkCu2nqsVun6WZ+MiPgfn\/LsforJ\/DwO4yA3B4iTjZfOrWy4V5qbDbqhgpDK575R1ZkD4HbZUxWKNj0K0+VWUkr3VrfQ72mS5TiosVreBC6dzn1A\/pZy59AcLbWm00tnpBBTN3O73n8zz4n7LrarLRWeHgpYzxEAPkccuf71YLk54tDvDcPy0nPN\/TsERFWbAiIgCIiAIiIAsvryqEVqgps4M8uT\/4t5\/MhXd1utNaKN1RUO8mMHN58AsZS+23rV1K65R4aR2ohcMhjMEgYPjt8VbTjniexh4uqsPKjq8u1ywoLZXajja+vMlJbWNDYKZhAJA2B5fPHuwF76HDYaeupHxBs9PPh7sDJHLB9WlalZejIt+vaun5MrYuNozzdjP6OXcWJNHHSVGcJau9m+5qFTUOooqy91FsdCYXxEhhLs8ZBOeXJXKxOqHR2bU1FdImhz3jikZ442PxBx6KEEpOxdxNSVNKa0Tz7GqulPQVFE83BsfYsGeN+xZ5g9CvldTKHVHCyeSSGI8ETn8wzJI26c1r4o63WVV20\/HTWmJ3dj6yEfvn06dVmr\/AyC+1cMMQjYx+GsaMADAWikrOzPL46XMSqJZaX6\/g+j2uzUVoh4KSLDiO9I7dzveVKqofaKSaDOO0Y5mfDIwvK2Vft1spqo44pYw52OQON\/nlSllbd8z2YKOBKKyINntotFuZRtlMoYSeItxnJypjnNYwve4Na0ZJJwAF1mmjp4XzTPDI2DLnOOwCyU0tbrGrENN2lNaY3d+TkZD++nTmfBSScndlc6kaMVCKu9kelTW1WrKt1vt5dDboz+PUf9zyH2+K6zUcOmtT2+SmbwUtUwwOAyST4n1LT6Faijo6egpm01LGI42cgPqfFVeraE1tilcwEyU5ErOHntz+RKmpK9tiipRkoOo85rP5bIu0UCyV4udop6rfic3D8\/wDUNj8wp6qas7G2MlKKktwiIuEgiIgCIiALpLLHBC+aV4ZGwFznHkAu6y9+qZbzc49P0TjwAh9W9p\/K3I29PrhSjG7KqtTlxvvt3PO2RP1Nen3apbiipjwU8Ths8jOCR659+PBemngK3VF4uGMhjhExx6jONvRo+KveGG02pwiaGxUsJIHkBndU+iICyyvqX5L6mZzyT1A2+oKscrpvyMqp4akIvN5t\/vmaNZfUwFFfrRcuQEnZSOxyGfsXLULOa4ZC+w5kka2RkrXRgndx5ED0OfRQp+8XcUvZN9M\/kXlZWU9BTOqaqQRxs5k\/QeKw0U39sdTxtmY5lLEwkMHPhHifMkKVDFUX2H+cXx5jttO3ijhZ\/XjYnx5hT9GUjjHV3SWIxOq5Pw28gGc9vLJx6KxJQTe5lnKXEVIxt4de6X26EeH27SNaYjG+otM0ndc0cToyf369FTu9mvmorjUNa7svZpJGB43yGYBx79x6L6MQCMEZBWQqOCm1hXkgMZ7A4gAYGA0fYpCd7vc5xFDAoq\/hvp0\/Ba6PkMmmaXiJJaXtyT\/mKtaurgoaZ9TUyCOJgySVm9N3GmtGk46msfwMdI\/gA3L98bDqvOnoqvVtQ2uuHHBbmk9lTg44\/P67\/BRcfE29C6nWapQhHOVl\/wBZw32vWVXlwfT2iF\/Lk6Uj9+nvWrp6eKlgZBBGI42DDWt5BcxRRwxNiiYGMYMNa0YAC7qEpXyWhopUsHibvJ6v92C4IBGCMgrlFEuMrpYm3Xa5WV5PDG\/tIgT\/AE\/7gtK1So6m11J1dSXOnjZ2PZFk7iRzwcbc+o5eCvFObu7mfh4uEXB7PLsERFA0BERAEREBXX25i02maq5vA4Yx4uPL7+ih6WtbqShNbUkuq638SQu5gHcD55PmoeoAbtqS32gH8KP8abbb94GP9S1KseUbdTLH2lZyekcl339Cp1RKIdOVjicZYGjfxIH6r009H2Wn6FvjC13x3\/VVetXOlpqG3sOHVVQBtzONvq4KxvF4p7FRsa1vaTOHDBCDku6D0SzwpLci5pVpTlokl9z2u13pbPSGepdknZkY\/M8+So6Cy1F+qP5re8hrgewpujR0J\/e\/XwXpadPz1lZ\/N74e0nfgxwHlH4ZH6fHdadG1HJanVCVZ4qitHZfd+hhbdb6i40s2mqmpEDqKftNhkvZvnHqc+oW3iiZDEyKNoaxjQ1rR0A5BZ7UVuqqetjvttHFPAMSxgfnb4+e372VtarvS3elbPTvGSO9GT3mnqCuzbkrojw8Y05OD12+K2+ROXz\/WVQafULyzm+lDHYOOef0VtftZQ0odTW1wlnzgy82M93ifks5ZYpKzUlFNcRI9tRIXh8n+IQDjnzGQB8lOnBx8TM3F141LUoPO6z6F7YdKySsiqLw0lkQIgpXcmjJPe9TnHx8FrwABgDAC5RUyk5O7PQo0Y0o2iERFEuCIiAIiIAiIgCIiAIiIDMWok66unaHviIcI\/wAvd\/2WmJAGScAKou2nmXGpbWQVUtJVMGBJH19\/Xw68lAdpa5VbOxr77NLBn8rQe978n7q14ZZ3MceZSvFRvm3qtyr1HcX1upaNtrDaqSmA4OHvDjz+myvLLpw01R\/MblKamvfuSTlsZ8vP9hV+j6KKK8XOSBv4MLuxjcTkuHEevoFr12creFFfDUuY3Wnq35dAiKiu+p4aKb2KijNZXE8IjZuGnzx18voqlFt2RtqVI01eTLWtrqa307p6qZsbB1PM+QHVYllsfqO6vqrZTOt9E7IfPkjtN98DOPQbeKtqLTVTcZ21+oJjM\/mynB7rPI4+gWma1rGBjGhrWjAAGAArFJQ01Mrpy4izmrR6b\/gz1v0TbKOQSTl9W4YIEmzc+7r6qxrrNDW3GirXPLHUhyGgbO8FZIoOcm73L40KUY4VHIIiKJcEREAREQBERAEREAREQBERAF1ke2KN0jvysBJ9wXZR66KWe31MMJAlkic1hJ5OIICI43ZZFFodjjap6l\/556hzjjwwP1yr+qq6eigdPUytijbzc4qFp63yWyywU0oAlGXPx4kk\/TC97jaqO6tibWRdoIncTdyPTbopyac2Z6UZwoJLW25nnXO66nkdBamuoqEHD6l+zneQ+w9Turu0WKhs0WKePilI70r93H7DyVhHGyKNscbGsY0Ya1owAPILsjlstDtOjZ45u8v3QIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MANTENCIÓN PREVENTIVA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:36",
    "ubicacionGPS": "LatLng(lat: -29.9177488, lng: -71.2550683)",
    "horaLlegada": "16:24",
    "horaDespacho": "16:35",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:35:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[09/06/2026 16:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'KY2961', 1, 20988335, 0, NOW(), 
				'16:35', '16:24', '16:36', 16, 'maquina en buen estado, no se realiza toma de contador ya que se debe reemplazar cartucho de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037354.png', '', null, 'COMPLETADO','LatLng(lat: -29.9177488, lng: -71.2550683)' )
				
[09/06/2026 16:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200661

09/06/2026 16:35:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200661'                    
				WHERE idllamado = 12959			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


09/06/2026 16:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12959			
				
09/06/2026 16:35:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:35:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:35:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12959
            GROUP BY l.idllamado;
            

09/06/2026 16:36:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:23 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:36:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:36:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:36:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12959
                

09/06/2026 16:37:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:37:24 - INPUT: {"rutTecnico":"20988335"}
09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:37:24] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                
=========================================
FECHA: 09/06/2026 16:37:46
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TbvA_qR4sEDdFztGfJpqnrx6g7JgqK+3RcaIH1q0kjfhmwz3eZQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "13458077",
    "serieinterna": "KY2797",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "242347",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•El computador del módulo 6, al estar conectado por cable LAN, se demora en recibir la iniormación de escáner de la impresora. Esto no ocurre por wifi\n•Se deja conectado por wifi\n•Se crea plantilla para escanear a doble cara",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12953",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADIAUADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xABHEAABAwMCAgYGBgULBAMAAAABAAIDBAURBiESMRNBUWGBkRQicaGxwRUjMlLR4QckQnLwFiUzYoKSk8LS4vE2Q1SiRHOy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECAwUHAgcAAwAAAAAAAAECAxEhMVEEEiIyQRNhcYGRobHB0RQjM0Lh8PEFUnL\/2gAMAwEAAhEDEQA\/AP2ZERAEREAUc88VNEZZpGxsbzc44XFeL1SWam6Wodl7gejiHN5+Q71SU1nr9SSNrr090VNniipWbbdvd8fYpqOF3kZ6laz3IK8vjxJpNVz1kzobHb31had5XZa0eH4kL4KPV1WOKWvp6QE\/YYMkeQPxWjgp4aWFsMEbY42jAa0YAUi7vpZI52EpY1JPywRmPobVEfrR31jndj27fAr4bjqa0uHp1EyvgAy6SDn7dh8vFahE39UPw9uWTXnf5Ky0X+hvDPqX8Ew5wvI4vDtCs1S3jTFHdT0zP1aqG4ljAGT\/AFu34qvpb5X2OobQ36Nz4i7DK0ZII79t\/im6pcpztpU3arlr089DVIvEUsc0bZIpGyMcMtc05B8V7VZqCIiAIiIAiIgCIiA8h7HPcwOBc37QB3HtXpZPTcjrlqa6XIZ6LZjDnY9Q5bHZvvWsUpR3XYqo1O0jveIREUS0IiIAiIgCIiAIi8RzRS56ORj+E4PC4HBQHtERAEREAREQBERAFV3y9w2al43DpJ37RRDrPf3Lsrq2G30clVO7hZGM+09QHtWdsFFPeK\/+UNyGDnFNFjZoHI+zc4791OKWbyM9apK6pw5n7LUls1gmqKgXe9ky1bjxRxO5RDqyPl1e1aVEXJScniWU6UaasgiIolgREQBQ1dJT11O6nqomyxO5td\/GymRDjSaszHytuOj6hz6djqq0vdksO5iz39Xt5H2rUUVbT3ClZU00gfG8bHs7j3qZzWvYWPaHNcMEEZBCyNRFNo+6iqp2vdaqg4kjG\/Rn+OXkrefxMjT2d3XJ8fwbBFHDNFUQsmheHxvGWuadiFIqjZmEREAREQBVeo6\/6OsdRM13DI5vBHt+0dvxPgrRYvXFS+qraK1QnLiQ4gHm5xw35+anTV5Iz7VU7Ok2sy10XR+i2BkhHrVDzIfZyHwz4q\/UcMTKeCOGMYZG0NaO4DCkXJO7uWUodnBR0CIiiWBERAEREARFHNNFTwvmmeGRsGXOcdgEGRTaou09DTRUlFk1lW7gYG82jrI79xjx7FXaDp3QOuQcQeGRseR2t4vxXrT0Ju10qtQ1jQI8ltOHEeoB192AB5kqbQ+ZKCrqeEAS1J7ewH5q98MHE8yLdSvCo8sbeGvmaZERUHphEUVTURUlLLUzO4Y4mlzj3BDjdldnHeL3SWWm6SoPE92ejjbzcfkO9c9q1Ey4Vho56WWjqeAPbHJ+0MAnqHf4DwVZYqJ9+rTf7iMgOLaaEj1QB19+DnxyVLf8RasssrBh73cDj2jI295V27Hl6mF1qjXa\/tusNVqadEVRqa6\/RNnkkY7E8v1cXaCevwG\/kqkruyNk5qEXJ5IqLjIdT6gZa4ZCaGlPHO5p2ee4+OPMrWMY2ONsbGhrWgBoHUFVaatZtdojZIMTy\/WS555PV4Db25VupTfRZIqoQaTnLN\/2wREUDQEREAREQBERAFHPBFUwPgmYHxyDhc09YUiIGrmRt0sulrz9FVL+KhqncUEh\/ZPZ8j4Fa5V96tMV4t76aQAPxmN5H2Hdq4dK3GSopJLfVnFXRHo3gncjkD7seXarJcS3upkp3pT7N5PL7F8iIqzWEREB8c4NaXOIAAySepfn9ncb5rZ1W4ZY15m8G7N5\/wBlajVdd6Dp+ctOHzfVN8efuyqrQNFwUdRWuG8j+jbv1Dc+8+5XQ4YOR59d9ptEKWmLNciIqT0AiIgCIiAIiIAszqqplq5qaxUjvrapw6Qg\/Zb34PtPsC0j3tjjc95w1oJJ7AszpVjrlXVl9qAS6R\/RQg\/st5nGfAeashhxaGbaG5WpL93x1LW4tjtmm6iOAcLIaYsYPDAUGkYeh03S5bhz+J578uOPdhQa1qeisRp2gl9TI1gAG\/PPyx4q5oKYUdvp6YDHRRtb4gI+TxOJJ7Rh0Xz\/AIdCIirNQWZ1XUPrZaaw0xBlqngydfC0b7792fBaOWVkMT5ZHBrGNLnOPUBzKzemWyXO5Vl+mbgSkxwNO\/C0ePcB5qyGHFoZtoe9akuvx1NFTU8VJSxU0LeGOJoa0dwWd1H\/ANTWP\/7T8WrTrMXzMmr7PGDnhy7G3b\/tSHMc2lWppLVfKNOspIz+UGsQwjNJa\/tA8i\/PLzHk0q\/u1Z9H2qpq84dHGS397kPeQq7SFH6NZGTuH1tUTK85J69ufd8UjgnIVfzKkafTN\/T3L1ERVmoIiIAiIgCIiAIiIAiIgCyt2Bs+rKO5taGwVYEMxzgZ5ZPhg\/2VqlSatohWafnIbl8GJW92OfuypwfFYz7TFum2s1ivIu0XDZq03Cz0tU45fJGOM9rhsfeCu5Ras7F0ZKSUl1CIi4SMLr6u6Ssp6Fp2ibxu26zy9w961llo\/QLNS0xGHMjHEP6x3PvJX5+0\/TurgT6zJ6j2+oP9oX6cr6nDFRPN2R9pVnV8l\/fQIiKg9IIiIAiIgCIiAoNY1zqWyOgi4ulqnCJoaN8dfu28VZ2qiFvtVNSDnGwB3L7XM+\/Koqtv0xreCnxxQW5nG8g7cWx+PDt3FalWSwikZaXHVlPTBfX3MvqHFZqez0G5DXGVzR1jP+0+9ahZe1YuOtbjW5yykaImdx5fJ3mtQk8LI7s\/E5T1fxgERFWaTOavqpnU1PaqQ\/X10nCQDvw\/IZx4ZV3Q0jKChhpIyS2JgaCevvWdtUX0zqysukjuOGjPRQAjr5cvM+0rVKyWCUTLQ45SqvrgvBfdhZiT9a\/SJHj\/AOJTb47wef8AfC06zGnsVmprxXg5DXCJpPWM\/wC0e5chk2dr4yhHv+MT3rWZ7rfT0EX9JWThoGeYHd7S1aCCFtPTxws+zGwNG2NgMLN149N15QwO3ZTRdJj+tuf9K1C7LCKQpcVSc\/L0CIirNIREQBERAEREAREQBERAFHURCemlhPKRhafEYUiIGrmb0NKX2F0bjvFO5uD1bA\/MrSLMaT+ruV7p2k8EVThrT1DLh8APJadTqczM2y\/ox9PTAKuv1WKGx1c5xkRlrc9p2HxVistrqpAoqWi4+Hp5cu2ycD8yEgrySJbRPcpSkVGg6XpbtNUEZEEWAcci4\/gCv0BZjQtOG2ueqxgzzHyHLfxK06lVd5sq2GG7QXfiERY2vvFyuj62otdQIKS3tz0jT\/Sny7vd3qEYuRdVrKkscTZIuK0Vrrjaaere0NdKzLgDtnkfgu1cas7FsZKSTXUIiLh0KOaVlPBJNIcMjaXOPcBlSKk1dWeiaenwcOnIiHjz9wK7FXdiupPcg5aHJoyJ01PV3SYDpayYnOOofmT5K\/raltHRTVLyOGJhfv14CgstH6BZqWmIw5kY4h\/WO595KqNazSOoqW2w\/wBJWzBo3O4BHzLVPmmUJ9hs9+tvd\/ye9FUz4rK6plB46qUvyesch7wT4rRKGlpo6OlipohhkTA0eCmUZO7bLqMOzpqOgVffK4W6zVNTxAPDMM3x6x2CsFmNXuNXPbrSxzgamYF+OpvL5k+CQV5HNom4U21md+laL0HT9O0jD5R0rtvvcvdhXC8ta1jAxow1owB2Belxu7uTpwUIKK6EFdUCloaioJx0Ubn59gyqXRNP0VgEx3dUSueSeZweH5FetZVfo1gfE0+vUPEYHXjmfhjxVrbKX0K2U1LjeKJrXe3G\/vU8oeJTzbR\/5Xz\/AIUNGem\/SFXOO4ipwGnsOGfiVqFmLN6+tLu88w0N+H4LTrk80Nm5ZPvfyERFA0hERAEREAREQBERAEREAREQGX0\/mPVd7jH2XPDj7cn8StQs3ZoZY9XXhz43NaQ0gkbHPJaRTqZmbZlaDXe\/kL8+1nVmS\/PjBOKaANwB1u558HBfoK\/MHA3nVrmZyyeq6\/uA\/wCkKdFYtmf\/AJCT3IwWbZv7FS+h2Ojg2yIgTjtO595VgiKpu7ub4xUYqK6FLqq4mgsz2R56ap+qjDee\/PHguWa3ssmiKmnOOMxEyE7Ze7b8B4Bc7HnUGsuJpzSWvkeovz8yPJq6dbyltljgZu+eZrQ3t5n8FalZqJhnLeU6uisvr7nfpqN0WnaJjufR58yT81aKOniFPTRQtAAjYGgDuGFIqm7u5tpx3YKOgRRzzxU0L5p5GxxsGXOccALktl4pbt03oxJ6F3C7II9nwSztc65xUlFvFnestqTFfqK02vOQHdLIBvkf8NPmtSsvZz9I6yuVd9qOnb0LCOWeXj9l3mpwwu9DPtPEow1fssTULLO\/nPXzRuYrfFv2cX\/LvctO97Y43PecNaCSewLNaNY+p9Pusg9aqnwM8wBv88eCRwTZ2txThDvv6fyadERVmkLLgmt\/SEQRxNooNj1DIHzetQsvpg+kX+91WQR03A0jrGXfIBWQybM1fGUI9\/xiahERVmky98xcdWWu3blkOZpB1du\/933961Cy+nP5yv1zvBGWcXQwk77d3VyDfPz1CsnhZaGbZ+Leqav2WCMxY\/8ArC8+HxWnWYofqf0gXBnMSwBw8mfmtOuTzQ2bla738hERQNIREQBERAEREAREQBERAEREAREQHJdKn0O11VTnBjic4e3G3vWJ0JSdNeJKkjLaeI4OOTnbD3cS0GtqnoNPujBwZ5Gs27PtfJedEUXo1j6dzcPqXl2T90bD5nxV0cKbep51RdptcY9Iq\/8AfY0a4bzcBbLTUVeQHMbhmetx2HvXcstqiQ3C62+xxu9WR4kmAzy6uXcHHyVcFdmuvNwptrPJeLO3SNEaWxRyP3lqSZXuOcnPLn3fFcd6H0hq+2UGA5kAMzweXbv\/AHR5rTtaGtDWgAAYAHUsxaMVutbpV4yKdoiG3I7D\/KVOLu3IoqQUYQpLVe2JqERZ\/U11kiEdposOrK31Of2GnbPd+RKriruxpqVFTjvM4a+SXVV6FupyRb6N\/wCsvzjjOfyIHiVLouNkct16IARio4WAdQGVYU9HFpnTkpZh0kUTnvfj7b8beGdlDoyldT2Bkjx61Q90hOcnHIfBWt8LSyMUKb7aMpc2LfwkXNZUNpKKepccCKNzztnkMqk0VTGOyGpfkvqpXPJPWBt8j5qbWFR6PpyoA5ylsY8Tv7gV32in9EtFJB1siaD7cb+9Ryh4mh8W0LuXz\/hxarrBR6eqPvTDom7458\/dldNio\/QLJS0+MOEYc7947n3lU2pR9IX+1Wok8Bd0r2gZyN\/k0+a1KPCKRyHFWlLTD6sIiKs1BZfQw46KtnznpKk79uwPzWoWY0FvZJzjH607b+y1WR5GZqn68PP6GnVNqq4C32KbD+GWYdGzBwd+Z8sq5WWrw69axgohh1Lbx0kvZxc\/9I8+9cgsbs7tEmoWjm8F5lxYLeLZZqemOePh4n5+8dz5cvBWKIot3dy6EVGKiuhl7uRRa0tdWThk7TEfbuM\/+zfJahUGsaR09m9JiyJqR4la4DcDkfx8Fa22sbcLbBVsyBKwEg9R6\/epyximUU+GrOGuP0Z1IiKs0hERAEREAREQBERAEREAREQBERAY3XTn1NXbrfEAXyOJGeskho+a1tLTspKWKnjGGRMDG+wDCzBLLj+kIDBc2ihx2bj83LWKyeCSMdBb1SdTvt6BZbTn863+43pxcY2noYc8sf8AAH95WWqa\/wBAsNQ9pw+UdEzBxu78sqTTtCbdY6aBww8t43jOdzv+SLCLepKfHWjHosfsWL3tjjc95w1oJJ7As1onElLW1WRmeoLuHPrAd\/mVNqy+U9Db5qIO46mojLOAfstIwSfBQ6MtcFJbG3MyO6Wdh4suw1rQfy5rqVoNvqQlPe2mMY42TuX1wrobbQy1c7gGxtJAzjiPUB3lUWl6SarqJ7\/WD62qJELSc8DM\/kAO72rme4auvzGsybZRHJJbtK788eXtWua0NaGtAAAwAOpcfCrdWSj+dU3\/ANqy73qUurxMdOVAhYXZI48dTQck+5d1ndE+z0boBiPoW8I7Nl0VUAqaSandylY5h8RhUOiJ3vsz6eQYdTTOZjsHP4kpnDwJPh2hd6+P9ItX5qqy1W0b9NPxOHYBgb+Z8lqFmKr9b\/SBSx820sBcR34O\/vb5K4vdc23WepqS7DmsIZvglx2HvSSwiiNOSUqlR6\/CKSy5umrrhcjvFTjoY\/Vx3fAHzWqVLpOhdQ2CFr28MkpMrgR28vcArpcm7yJ7NFqmm83j6hEXwkAZJwAoGggrqyK30U1XMcMiaXHv7AO8nZZDQVyLZZbY5o4X5ma7v2BHkF0VU7tVX1tDTSP+jab1pZGbB5HYfIDxKpdIPZTagL5ntYyOJ5c4nAAC0RhaDTzPKq13LaIOPLdr7m8u1wZa7ZNWPwSxvqtP7TjyHmq7Sdvkpbe6sqcmprHdI8uG\/d1d+VXMLtYXhr3RltronZGR\/Sn+B4D2rXAADAGAFW+FbvU1032tTtOiy+rPqIirNR5exskbo3tDmuBDgesLLWCZ1kvVTYZ3fVPd0lM5x556vEe8HtWrVLqWzG50jZqfLaymPHE5vM934d6nBrJ9TPXjLCpDNe66oukVLp7UDLtEYJx0VbCMSxnbOOZA+XUrpRaadmW05xqR3o5BERcJhERAEREAREQBERAEREAUc8zKanknkOGRML3ewDJUi8TRMnhfFI0OY8FrgRkEIcd7YGL0MX1V3r62QZe5vrOHa52fktusroWNppq+pYwNbJPwtx2AZx\/7K7uV6oLUzNXOGuxkRt3cfBW1MZ2Rj2RqGzpyZTaoJrrzarS3cPk6WQc9vZ7A5SXXUkklT9GWNvpFY44MgALY+3uPwVFT09bq691FZDIaSAAMc4HcNxs3bmTjf\/hbS2WmjtNOIaWPH3nuOXO9p\/gKUrRSTzKqXaVpSlHBN59y0+5QyaYdSWWtmld6ZcpozxSHJxnGQPxVfRG4XygpbPRtfT0cLAKmYjGTzI9\/LrW7XxrQ0YaAB2BRVR9S57JG63XZZPv8yCioqe30rKamjDI2DYdvee9dCIqjWkkrILK2eQWvVtxt0reAVbulhJPPmfgT5LVKmv8AZHXJsdVSydFXUx4oX9R68FTg1k+pRXjJ2nHNf1nDY\/1rWF5q+fRYh7OvH+RQ3tx1BqOnssTs09MekqS09fWPAbe1xVVp99\/qKeq+jIowKmU9JUuIBa7GT19\/YVsLNZYLPTuZG50ksh4pJHHJcVZK0Xcx0VKtTUbYN3ffjkixa0NaGtAAAwAOpfUXiWVkMT5ZHBrGNLnOPUBzKoPUyOG73mntEAfKDJK84jibzcfkqaepvuoCaWCj9Bo3txLJLnLh1j4jYeK+WVsl+1BNepg70WnJZStcDjsyPDf2nuWrVjtDDqY4qVdN3tH5\/wBOO12ymtNG2mpm7Ddzjzee0rI2qw0lzvFzgqS8Gmqct4Ts5pLsg+QW6WYpcUev6qP9mrgDmjv2\/B38c+wk8TlenC9NNYXt6o0NJSQUNMympoxHEwYACmRFUbEklZBERDoREQFFe9NtrphX0Mhpq9mC14OA8jt7+9c1v1S6Cf6Pv0XotU3\/ALmAGOGOZ328NvYtMuesoaWvi6KqgZK0cuJoPCe7sU1LC0jNKi1Lfpuz66Mna4OaHNIIIyCOtfVlX6budqk6WxXAhmd6eY7Yz5Hn3e1emajvFA3hu1llIaN5YBkfMe9d3L8rOfiN3CpFr3XqahFn4dbWWXHHJNDn78ZOP7uV2x6js0gy24wD953D8VFwkuhZGvSllJepZouNt2tr88NxpXY7Jmn5r19J2\/8A86m\/xW\/iuWZZvx1OpFyOu1tYMuuFK0d8zR81E6\/Whmc3Km27JAfgm69DjqQWbRYIqh+qrGzObgw4+61x+AXJNre0RtzH0837keN\/HCkoSfQre0UVnJepokWXOrK+pH832GokB5PfnHjgfNOHWNed3U1vYeoYJ\/zLvZvrgR\/EwfIm\/BGme9kbC+RwY1oyXOOAFQ3TVtqpoZIoqj0iUgtAhHEBnrzyUDdGuqX8d0utRV9g5Y8yV13C2W+06frjSUscZ9HczjxlxyMc+fWupQvqQnOu4t2UV34szun49QVNqFLbhHTUznucalxwSewcz1dQ8VaP0\/Q2K21Fyq3Gtqo28QfLjHHyGAe8jnlWWlIzHpmjaetrnebifmuHV8jquShs0TgH1Uoc7uaNvx8lLebnYoVKMKCm8XZWvq9Dp0fRGksMcjx9ZUkyuJG+Dy9wz4q9XmONkUbY428LGANaOwBelTJ3dzfTgqcFFdAiIuFgREQBc1yl6C2VUu\/1cL3bdzSV0qt1FJ0enq52cZhLeeOe3zXY4tEKjtBvuOPRcXR6bhdt9Y97vfj5K+VTpdgZpuiA62E+ZJVsuz5mQ2dWpRXcgsrqKsnu1ezT1vdhxPFUSZ2aOw+73BWuoLuLRby9nrVEp4IGYzl3bjuUemrObZQmWo9asqT0kriPWGf2fD4qUeFbzK6rdSXZR8\/DTzLKjpIaCkjpadnDFGMNCnRFWaUklZBZfUwFJfrPcQMASdFI7sGR4ci5ahU2q6L07T9Q0Ny+EdKzw5+7KnB2kU7TFypO2ax9MS5RV1hr23KzU9QHZfwBsnc4bH8fFWKi1Z2LYyUoqS6hERcJBERAEREAREQHPNb6KpOZ6OCU5zl8TXfELifpmyv52+Mb5w0kfAq1RdUmsmQdOEs0ijdo6xOxijc32Sv+ZXz+Rlj\/APGf\/iu\/FXqKW\/LUr\/D0f+i9Cibo2xg5NK49xld+KmbpSxsxigZt2vcfiVboub8tTq2eiv2r0K5mn7PH9m205\/ejDviuuGlpqf8AoaeKL9xgHwUyLjbZNQjHJBERcJhVmpGudp2tDefRE+HWrNcN7YZLJWtAyTA\/bOM7KUc0V1VenJdzINOSM\/k3RvyGtbFuSeWOaqrEX3rUlXeXj6iAGGnz8vDJP7y4xd\/Q9B0sMJPpFTxwsA5gcRyfIjxIWnslv+jLRT0pAD2ty\/H3juVZLhu9TJTfauEekUm\/Hp9zvREVJvCIiAIiIAqjVZA01WZOPVb\/APoK3Wf1tJwackbnHSSMb7d8\/JShzIp2h2oyfcywsILbDQg8+gb8F2yyshifLI4NYxpc5x6gOZUNuj6G2UsX3IWN8gFRapq5quogsFGfrKrBmcB9hmfyJPcO9dS3pEZT7Kkn1+pDamv1Hf5LvOz9UpTwUoII4iDkO9o5n2jsWsXPQ0cVvoYaSEYZE3A7z1nxO66FyUrvAlRpuEcc3mERFEuC+EAjBGQV9VXe79SWWnLpHB85H1cIO5Pf2DvXUm3ZEZzjCO9J4FXp1v0bqG52kNDYtpYxxdXV7nDyWoWd01bKv0me83MYq6oYa37rdvwHgFolKpzFGzJqnirZ28AiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjnhbUU8kLtmyMLT7CMKREDVzO2rSUdvr2VMtS+YQZEDDybknc+fmtEiKUpOWZXTpQpq0UERFEsCIiAIiIAszrtx+hYY27ukqGgDwd+S0yzGuQRbaWQj1WVI4j2bFTp86M21\/oSLq4V0NotjqmfLmxNAAHNx5ABVGlbZKGy3iubmqrDxNyN2NPZ2Z+AC5XD+Vt+GDm2ULv8V35\/D2rWtaGtDWgAAYAHUuvhVurIw\/Oqb\/7Vl46\/Y+oi+EgDJOAFWaz6oKuspqGEzVU7IWDrccZ9naqO4aqa6b0Kyw+nVZ2Dm7sb356\/h3qOi0pJUztrr5VPqag+t0QOGtPZ+QwFYoWxkZnXcnu0lfv6Ijff7te5HQWKkMcWSDVSj+APeV32nTFNQTel1MjqusO7pH8ge0Dt7yrmKGOCJsULGxxsGGtaMABe1xz6RwEaGO9Ud37LwQREUDSEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQVdHT10BgqYmyxk5w4Z\/4REONJqzFJR09BTtp6WIRRN5NH8bqdEQJJKyCys9Be9RVUkVcfQLfG8jo2HLn4+Pt5dyIpRlbFFVWmqlot4fJf0Fso7ZCIqSBsYxu7HrO9p611oii3ctUVFWQREQ6EREAREQH\/9k=",
    "razonSocial": "CAROLINA ANDREA LEIVA PEREZ",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAROLINA LEIVA PÉREZ",
    "correoContacto": "cleivanotaria1@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE ESCÁNER SE QUEDA PEGADO Y ADEMÁS NO LLEGA AL PC",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+552553444",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:38",
    "ubicacionGPS": "LatLng(lat: -23.6480576, lng: -70.3977124)",
    "horaLlegada": "16:09",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


09/06/2026 16:37:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:13458077

[09/06/2026 16:37:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('13458077', 'KY2797', 1, 24456550, 242347, NOW(), 
				'08:00', '16:09', '16:38', 15, '•El computador del módulo 6, al estar conectado por cable LAN, se demora en recibir la iniormación de escáner de la impresora. Esto no ocurre por wifi
•Se deja conectado por wifi
•Se crea plantilla para escanear a doble cara', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781037466.png', '', null, 'COMPLETADO','LatLng(lat: -23.6480576, lng: -70.3977124)' )
				
[09/06/2026 16:37:46] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200662

09/06/2026 16:37:46 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200662'                    
				WHERE idllamado = 12953			
				TO ENVIO: micorreo@miempresa.cl, cleivanotaria1@gmail.com


09/06/2026 16:37:46 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12953			
				
09/06/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


09/06/2026 16:37:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12953
            GROUP BY l.idllamado;
            

09/06/2026 16:37:49 - INPUT: {"rutTecnico":"24456550"}
09/06/2026 16:37:49 - INPUT: {"rutTecnico":"24456550"}
[09/06/2026 16:37:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[09/06/2026 16:37:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:37:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12953
                

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:31 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:32 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:33 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:34 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:35 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 - INPUT: {"rutTecnico":"19969062"}
[09/06/2026 16:46:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 16:46:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                
[09/06/2026 18:15:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 18:15:19 - INPUT: {"rutTecnico":"19969062"}
09/06/2026 18:15:19 - INPUT: {"rutTecnico":"19969062"}[09/06/2026 18:15:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[09/06/2026 18:15:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 18:15:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

09/06/2026 18:15:19 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 18:15:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

09/06/2026 19:39:36 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:39:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:39:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:39:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:39:49 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:39:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:39:49 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:39:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:39:54 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:39:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:39:54 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:39:58 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:39:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:40:03 - INPUT: {"rutTecnico":"9291721"}
[09/06/2026 19:40:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

09/06/2026 19:40:03 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
09/06/2026 19:40:06 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 19:40:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)
[09/06/2026 19:40:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

09/06/2026 19:40:25 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:25 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)

09/06/2026 19:40:26 - INPUT: {"rutTecnico":"9291721"}[09/06/2026 19:40:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				
[09/06/2026 19:40:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

09/06/2026 19:40:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 09:17:03 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 09:17:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 09:17:03 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 09:17:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 09:17:04 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:17:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:17:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:17:29 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 09:17:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

[10/06/2026 09:17:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:17:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:19:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:19:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:19:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:19:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:19:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:25:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:25:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:25:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:25:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:25:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:25:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:25:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:25:45 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:25:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:25:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:25:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:25:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:25:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:25:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:03 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 09:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

[10/06/2026 09:26:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:27:52 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:27:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:27:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:27:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:27:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:27:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:27:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12966
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78031724
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY3095
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:28:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:30:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:44:12 - INPUT: {"rutTecnico":"7373114"}[10/06/2026 09:44:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 09:44:12 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 02/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => STUDIO 2010AC
            [FechaLlamado] => 02/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => STUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => EZ 231
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 02/06/2026
        )

)
[10/06/2026 09:44:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 09:44:15 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:44:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:44:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12935
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS SALEN EN BLANCO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2540
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:44:19 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:44:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:44:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12935
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS SALEN EN BLANCO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2540
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:22 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:44:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

[10/06/2026 09:44:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:44:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12935
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS SALEN EN BLANCO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:50
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2540
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:47:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                
=========================================
FECHA: 10/06/2026 09:48:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ufEwRkr4EWxAxRegLA2PkfSxVc81gIJQj.Irhq5TbrCPqar+u_k
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78031724",
    "serieinterna": "KY3095",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "28781",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion computadores\nFirmado por Francisca rojo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12966",
    "observacion": "Conexion computadores\nFirmado por Francisca Rojo",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACzAQUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABHEAABAwMBBAcFBAcFBwUAAAABAAIDBAURBhIhMUETUWGBkaGxFCJxwdEHFSMyFiRCUnLC0jNUk+HwJTVDRJKismJjdIKD\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMxEAAgECBAMGBQQCAwAAAAAAAAECAxEEEiExQVFhEyIycZHRUoGhseEUM0LBYvAkcvH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBYqTVlxFa6sbEz7sFQIM444yeOeJG\/q3Baa+TGnsdbKM5ELgCORIwD5rOOoA77ORu2ngdPnt2v6VbTStdmHEynfLB2smzYggjIOQV6oFkqfa7JRzE5Lomhx7QMHzCnqtqzsbIyzRTXEIiLhIIiIAiLM3HV5grJIaCjdWR0wJnkaTgfDd18\/ipRi5bFdSrCmryZpkUegrYrhRRVcOdiRucHiOwqQo7E001dBERDoREQBERAEREAREQBERAEREAREQBERAEREAREQGe1tP0WnzEN5nlawAf9X8qtWUIFlFv3NHs\/Qnn+zhUmqP1m9WWiHB0228dmRz+GVp1Y9IoywWatNvov7\/szuh5zJYOiduMEzmY8HfMrRLMaP\/CqbvSDcIancOreR\/KtOuVPEzuFd6Mf92CIigaQiLxzg1pc4gADJJ5ICj1TdHUdE2jpgXVdYejjaMZGTgnzwFKsdpjtVpjpi0dK5uZnD9px47+zgqewQvvt4mv1Vno4ndHSsPADf6Z8SepatWS7qymSiu0k6r8l5fkzGjCab7xtjjk0tQcZ4kHI\/l81p1mLV+q63udNjAmjEg55O4\/zFadcqeK5LC6U8vJtfUIiKBpCjV1wpLbD0tXO2JpOBniT2BLhWxW6hlq5j7sTc4z+Y8gPiVnLLan3ycXy7EyBx\/Agdva0A8T2ZzuU4xVrvYoqVWpKEFdv6dS6odQWu4v2KaqBfkDZc0tJJ4AZ4ndyVkqS7aXoLhTu6CCOmqQMxyRt2d\/LOF86YutRW001JWgiro3BkmTvdxwT27v9ZRxTV4kYVJxmoVOOzReoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAzFZmp+0Cij4sp4C4g8jh2\/zatOsxbQKnXdynI3QxBjQeR90Z8j4rTqc+C6GbD65pc2\/YzGlv8AfmoP\/k\/zPWnWY0ieluF6qACBLU7gfi4\/NadKniGF\/aXz+7CIigaQqPV1aaWxSRs3y1JELGjOTnjw7PVXiy1xIu+tKShHvQ0LelkBG7a3H+nzU4LW\/Iz4mTVPKt3p6l3ZaAWy0U9LsgPazMmObjvPmpyIot3dy6MVGKiuBmMkfaGcHjS7\/BadZiL8T7RJ\/wD2qYcPg3j4rTqU+HkUYf8An\/2YREUDSZbUUjrreqOwxOcGE9JUEcMcQDvHIZ7wtQ1oa0NaAABgAcll9K\/rt3u10ODty9HGRv8Adzn0DVqVZPS0eRlw\/evUfF\/RbBZbdbdf9Udwh7Nxx9W+a1KzGrQYK60VwH9lUbJ55yQeHcVynvbmdxOkFPk0zToiKBpCIiAIiIAiIgCIiAIiIAiIgCIuc0nRQSScdhpd4BBsZzSIM1bd6w4\/GqNxBzzJ494WiqphTUk05xiJjnnPYMqg0NHs2J8hOTJO5xPcB8l11lV+zWB8TT79Q8Rgc8cT5DHerZK9SxipT7PC5+jZ8aIhMdhMjs5mmc\/J58B8vVaJRLXSewWumpecUYDvjz88qWoSd5NmijDJTjHoERFEtOc0rKeCSaQ4ZG0ucewDKzmjYpKj227zAh9XKdnLs7gcnzOO5TNX1JptOz4xtSFrBntO\/wAgVOs9K2is9JTtGNiJud3MjJ8yVYtIeZll366Xwq\/zZNRF8uc1jC9xw1oyT1BVmozVoJn1rdpic7DAzs\/ZH8q06zGi2mdlwuTm4NVUHGfH1d5LTqdTxWM2F1p5ubb+oUS61PslpqqgHBjicWntxu81LVHrGfodNzgHBlLWDxBPkCuRV5JFlaWWnKXJHmjqb2fTsR5zPdId3bgeQCvVEtUHs1ppIMYLIWg\/HG\/zUtJO8mxRjlpxj0CzGvARZ6eRucsqR3e65adZnXDnOt9JTNOy6apb73VgH6hdp+JFeL\/YkaUEEZByCvV40BrQ0bgBgL1QNIREQBERAEREAREQBERAEREAUC+S9DYq5\/PoHgfEjHzU9UWspuh03O3nK5rB4g+gKlFXkiqtLLSk+jOmk4ui01SDm4Oce9xKrq8Pvmr4KJpzS28CSXH73HHoPFS6u5M0\/pWmOczdA2OIDm\/Z4\/DmuumbXJQULp6sfrlU4yTE8eJwPn3qd7XkZrZlCiuCTft8y6REVRuCIuNRVU9JH0lTPHCz96RwaPNDjaWrM7rEipqbVbc56eoBcOzIHzK1Cwd1v9LPqqjq6Rj6yKnZshjQWlzztcPEcuSs21Wrbm0mGlht7DwdL+bwOT5DgrnB5UefTrx7SbWt3w6I1KpNTXWnpLNVRCoj9okYWNjDhtb9x3fAlQ\/0WuFZvuV8nkB4xxZDfXHkqausFA2\/0lnoGyPfkPqJJH5w3jjdjkM94SEY33JV61XJpG19NXz8i3sl8stpsdPTS1rBK1u08Na5x2jvxuHbjuUh2trM12A+Zw6xGfmrGOxWmIgst1NkcCYwfVSW0VIxhY2mha08hGAFFuDdyyFOvGKimlbo\/cq4tYWOQDNWYyeT43fTCqdVXOhukNDS09VFKx1SOkw78vLPmVpJbPbJs9Jb6ZxPE9E3PjhZfUVlt0N4tFNT0zY21EpbM1pI2m5aPTKlDJm0KcR2\/ZNSs1pz5mxinhmGYpWSD\/0OBXRZqXQtqcQYpKmIjhsvB9Qvh2m7rbmma23qRzgQ4xT\/AJXY7c\/JRyxezNHa1l4oejNQsxqUe0aislNwAlLz1EZb\/SfFT9OXiW70bzPGGTQO2HlpyHHr6vAlV1G5t41vNVMdtQW+Po2nkXbx6l3h4dinFu\/AhWnGrTio\/wAmvd\/Y1K4zVdNTDM9RFF\/G8N9Vn7ldblc7pJaLMRH0QPT1Dt2OW49h3deR1ArpT6KtrQHVj5quXHvPe8tB7hv81HKl4mTdacm1Sje3F7F5BVU1Tn2eoilxx6N4djwXZZuq0VQE9LQSS0kzd7dl5Izjx8+tdtP3ieeWW13IgV9OTk8NsfX5YRxVrxOxqyUlGorX25F8iIoGgIiIAiIgCIiAIiIAstr2XZtlNEc7L58uI47gfqtJUmYU0hpmsdMGnYD+BPLKwtwpLjUXu1uvDg51TKB0GfdYzaGRu6wfLiraS71zFjJPs3BLf3LWz0c19uxvddFs0zBikhdwHUcdnr8Fql41oa0NaAABgAclT3TVVsthMbpTPMP+HFg4PaeAUXeb0LYqFCF5PzfMuVBuN5t9qbmrqGtceDBvce4LI1V\/1DestttLNDBwzC0k97+XdhcaKw32Co9ofZ4al7jnaqpA7B68bQz3gqapJeJmaWMlLSlFvrZlw++Xq9e5ZKB8EJ\/5mcAeHLwyutLo2B7xUXaqlrZycnLiG\/DrPkvkO1k4AiOkiGPyZG5MazO7NG3PPduXdVpFpEVaTvUjKT8tPQ426kp4NezwU0TYY6amGGtGM5DfH8y1qwNtttzr7\/XskuZpqxjQJZom\/mG7cMY6grj9EJp2bFde6uoac5GSM9XEntXJpX1ZLDzmovJDS74pEy96kp7UBBEPaKx+5kLd+Dyzj04r401Z5aKKStrsvrqk5e53FrTjce8eikWrTlutD+kp43PlxjpZDl3dyHcrVQcklaJohTnKWepw2XL8hFzlmigZtzSsjb1vcAPNVNVq2y0oP630zh+zE0u8+HmoqLexdOpCHidi6WY1KWs1HY3uOB02M43fmb\/kodXr3byygo8Eg4fO8DHcPqs\/dK6e4dFJW3NtQ4H+zY0gRjnyAV8Kck7s87E4ynKGWGu33NzcNV2qgIYJvaZD+xT4d58FWSNvupz0UkRttvLvfDgQ947+Pp8V80N30naow6ljc97f+IYSX5+J4Lsb3frsS20272eIOx08+PQ\/LK4o22XqdlUVTScr9I+\/\/h7cK2m0\/RNs1mjMlZNkANOXNJ3bRPX1fDqUmgov0Y0xO92DUNY6WQj9\/G4fAbh4ldrFp6K07U8z\/aKyQnamdk4HUM+vNeau2v0Zq9kHfs5xyG0FG6bUUWqEowdWSs0nZcvycdG0Xs9kFQ\/Jlq3GRxJyccB9e9aBQbLs\/cdDs8PZ4\/8AxCnKEneTZpoRUacUuQWY1dSSUz6e+0jcTUrwJMftN5Z9O9adV2oCBYK7Jx+A70XYO0kRxEFKmyZTVDKuliqIzlkrA9vwIyuqqdL5\/Rui2s52Dx+JVsotWdiynLNBSfFBERcJhERAU13qL\/BVNNro4KiDYG0HkB21k5x7w5YUD9KLtTnFXp6cDm6POB5Y81qEU1JcUZ5Upt3jNr0ZmRrq3tOzPS1cTuYLBu813j1rZH\/mmkj\/AIoj8sq+LQ4YcAR1FRqijt\/Rukqaam2GglzpGNwBzySu3hyOZa6\/mvT8kOPVFkl\/LcIx\/EC31Czeo77Si\/0NXRvZU+ytJdsu3EnllQKy20txus8Nkp5agukJc7GxHFnkOzj1fArtTaajg1NSWyseJmvhMkuzlozh24HjyHUroxhHU86pXr1Vlst1r1udmXG66lcGz19Pb6MnDtmQMyPgTk+ivrbbdN21o6OaklkG\/pZZWudns6u5fX6GWP8Auz\/8V31T9DLH\/dn\/AOK76qDnF6LQ0U6FaLzSSk+bb9ie69WmMYNxpBjdgTN3ea4P1NZWHBuER\/hyfQLmzSNiZwoQTjnI8\/NdmadszBgW6A\/xNz6qvudTT\/yP8fqRnaxsTcYrC74RP+YUWbXdrjcBHFPKCOIaBjxKum2m2szs26lbnqhaPkpDIIYv7OJjP4WgLt4cjmXEP+SXy\/JgaDUsdLe6+4R0ksranGy3OC348VPk13UknorSR1bTyfkplk3axvAO4kA47wtOpylFPYz0KVaUHadtXwXMwz9VaklGYraGtPAtp3n5rk2r1jdDsRtnjb2MEQHeceq3yKPaJbRLHhZvxVGYA6KvVU\/bqaqEnmXyucfRT4Ps+hG+pr3v47o2Bvw3nK2CI6szscDQWrVyjp9H2SADNMZT1yPJ8huUbVdpo49OyvpqSGJ0Ja4FjA04zg+q0qhXiE1FmrIgMudA\/ZHbjd5qKm8ybZZUoU+zkoxS0OdogpJLZTVEdNC10sLC4iMAk4ViqTR8\/T6bpxnJjLmHuJx5EK7XJaSaLKLTpxa4oKHd6b2u0VcGMl8Tg0duN3mpiLidiySUk0yj0fUip05ANrLoS6N3Zg5HkQrxZbTx+69RXCzEMbG49LCAeXV4Y8FqCQBknAClNd4ow0r0knutPQ9VDrKsbS6fljyNuoIjaD4nyCmz362QUJrDVMfECWjYOS4jkOtUtDTVGp7lHda2N0NFTuzTQkfn4b+0bt\/guwVnmfAhXqZo9nDVv7czQ2ylNFa6WmIw6KJrXb+eN\/nlSkRVvU1RSikkEREOhERAEREBwrKynoKZ1TVSCONnEn0HWss0V2s5g57XUlpjduGfelI\/18B2rvfGfemq7fapdr2ZrDK9vJ3E\/wAuM9pWna1rGBjGhrWjAAGAArPAr8TI0683F+Faeb9jlSUdPQUzKemiEcbBuA9T1lZ9n432iPxv6Gm355bh\/UtOsxQ7vtEuOd2aYY7d0aQ4+R2uksiXNf2adERVmoIiIAiIgMxbfc1\/dGccwB2e5n1WnWYjyz7RJc7+kpt3ZuH0WnU58PIzYbaS\/wAmERFA0hERAF4QCMEZBXqIDMaWcaC43KyyEAxS9LEOtp\/y2fFadZe+5tep7ddGe7HP+BNjcO8\/A\/8AatQpz1s+Zmw\/dTp\/C\/pugo1wr4LbRvq6gkRsxnZGSV1lmigZtzSsjb1vcAPNUly1RYWxOhlkbWc+jYzaB6t53LkYtvYsq1Iwi7tJ9TO3y\/0dZcKW5W1kzaimPvOe3AcM7huPx7irVuor5d2\/7ItXRxuyBNKcjuO4eqqKey1d1rpH2ymqLbRyg5dK4gOBzuA3ZBzjG9d7deK3Ss8tprKb2hkZ2wYyfdBGcjdvHhzWhpWstWjyIVKik5TbUXxS4nzaLAym1M2gurBL+D0sbW72OPbu4bj4LegADAGAFh7zfrfU19rutJK7bgkxNGRh4bkH6+K3AIIyDkFVVLuzZuwapxzRhwf0Z6iIqjcEREAREQBERAZrU1LPS1tJfqSMvfSnEzR+5v3+BI7wrq33OkulP09HMJGg4cMYLT1EKUQCMEZBWfuGkaaaV1Tb5pKCpJzmI4ae4cO5WJpqzM0oTpyc6aunuvY0KzB\/D+0MAjHSU249e7\/LyXntGrLW7Zlp4rnCNwezc7Hdg+RVbU32CTUNFcK2mqqCSnaWuY6Pa2hv3cjzPLmpRg9SitXi8t0001v\/ALY3SKpi1RZZmhzbhG3PJ4LT5hSWXm1yY2blSknl0zc+qryvkbFVpvaS9Saii\/edv\/v1N\/it+q+TeLW04dcqQHqM7fquWZ3PHmTEVeb9aGnBuVL3Sgr4Oo7M04Nxg7nZXcr5HO1p\/EvUq6z8P7Q6EnhJTEZ6tz\/p5rTrE3a9252prbcIakSRRAtkLWn3Rv5Y7VZya5s7CdkVEn8MY3+JCslCTS0MlKvShKd5Lf8ApGjRZj9MnzZ9kstXNy4c+4FPv3Uc5\/V9PmMcfxSfnhQ7ORd+qpPa78kzTr5c5rGlz3BrRxJOAFmRSaurx+PWwULDxazG0PDPqvpmi4pveuFzq6p+N\/vYHnnnlMqW7HbVJeGD+eha1F\/tFMCZbhBu4hjto+Ayq2bW1uD+jpIaireeGwzAPjv8lMg0tZIPy0DHHrkJd6lWUFLT0zdmngjiHVGwN9E7iFsRLdpfUxl8rbxe7bIDZXQUsX4pfISHDGd4zjlnkV3ttDfL7QR1U19dFFICMRDfuOMHGBy81r3sbJG6N7Q5rgQ4HmFmNIPdRVVws0pJdTyl7MtxkcM\/+J71Ypd12WxnlRtWWeTeb5arbY6xaJoC\/pKypqKt54l78Z+fmrejs9toMGmo4o3N4O2cu8TvU1FU5ye7NcKFKGsYhZ7VVtnliiulDkVdEdoY4ubx4c8cfhlaFFyLs7kqlNVIuLMTdY7ReNNTXWjp44qqHZ6QM90tJIBBA3HsK6W+k1JRW2Crt9WysimY2ToJd5GQDuyfjwI+GeE+46MpKyrdPBO+lEv9qxg913Pd3gHuV\/BCynp44I87ETAxuTk4AwrXNJWWpihhpSqOUtNN1x6meh1lBFIIbrRT0MuN+00kfXt4K2gvtqqcCK4U5J4AvDSe4qXNBDUx9HPEyVh\/Ze0OHgVVz6UstRnaog137zHuB9VC8H0NGXER2afnp9i3a4OaHNIIIyCOa9WXdo6SkO3abtUUxznZccg+GPQr5Nfqm0AmspI7hC0b3xcfIZ\/7V3Insznbyj+5Bry1RqkVbZr3DeYpXRQyxOhdsvbIOBRQaadmaIzjNZo7FkiIuEgiIgC+XxslbsyMa9vU4ZC+kQFbJp2zykl1ugGRj3W7Poo79IWJ+f1LZJ5tlePmrpFLNLmVOhSe8V6FEdG2M\/8AKvH\/AOrvqvoaPsQGDRE9plf9VdomeXMj+no\/AvQpxpSxtGBQN73uPzX23TNlaMC3xd+SrVEzS5kuwpfCvQyGrrRR0Nsgq6OkjidFM3aLG4y3fx78cVqKWKmELJKaGNjHAObsMA3H4KFqSnFTp6tYR+WIvH\/1975LzTM\/tGnaJ+c7Mex\/0nHyUm24FMIxhiGkt1f0LVERVmsIiIAiIgCy9ePu7XNFVAYjrWdE89buH9C7XukudFXffNtlkmwAJqUkkOaN24f661U3y8U95s1PcKfMdRRztL4id7c8werIG9XQj6MwYiqrNNWad11t+DcIvmORssbZGHLXgOB6wV9Kk3hERAEREAREQBERAeYAzgceKL1EAREQBERAEREAREQBERAEREBzqIhPTSwnhIwtPeMLP6Imd91TUkm6Smnc0txwB\/zytIstRu+69c1dMSGRV7BI0Hdl3H121ZHWLRlq92pCfy9fyalERVmoIiIAiIgCqK3TNsr65tZLE5socHO2HYD8dYVui6m1sQnCM1aSueNAa0NGcAY3nK9RFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBQLjb6WqqKSomhDpYJWmN+SCN+eXHeERdW5CaTjZk9ERcJhERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SERVICIOS MEDICOS  CEGMED SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BARBARA YAÑEZ",
    "correoContacto": "barbara.segmed@gmail.com",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56975942588",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:48",
    "ubicacionGPS": "LatLng(lat: -23.6625318, lng: -70.4000221)",
    "horaLlegada": "09:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 09:48:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78031724

[10/06/2026 09:48:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78031724', 'KY3095', 1, 19969062, 28781, NOW(), 
				'08:00', '09:23', '09:48', 15, 'Conexion computadores
Firmado por Francisca rojo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781099282.png', 'Conexion computadores
Firmado por Francisca Rojo', null, 'COMPLETADO','LatLng(lat: -23.6625318, lng: -70.4000221)' )
				
[10/06/2026 09:48:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200663

10/06/2026 09:48:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200663'                    
				WHERE idllamado = 12966			
				TO ENVIO: null, barbara.segmed@gmail.com


10/06/2026 09:48:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12966			
				
10/06/2026 09:48:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:04 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 09:48:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:48:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

10/06/2026 09:48:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:04 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 09:48:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12966
            GROUP BY l.idllamado;
            

[10/06/2026 09:48:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:48:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 09:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12966
                

10/06/2026 09:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                
=========================================
FECHA: 10/06/2026 09:49:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-c41IN04SYsFQJ9wqYc-9iz0hQ__.TaqgnLN1FoFErkniR.acysO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69253200",
    "serieinterna": "EP2540",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "66861",
    "contadorColor": "56040",
    "contadorScanner": "0",
    "detalle": "se hace entrega de 1 juego de tintas mas una caja de mantenimiento.\nmantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12935",
    "observacion": "se entrego 1 juego de tintas mas una caja residual.\nmantención",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADKALoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMCAwYEBAUCBgMAAAABAAIDBAURBiESMUETUWFxgZEUIqGxMkLB0RUj4fDxB1IWJGJygpJDstL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQIDBQcDBQEAAAAAAAAAAQIDERIhMQRBUWFxEyIygbHR4ZGhwSNCUnLw8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBeXvZHG6SRwYxoJc5xwAB1JXpVmo+M6erAwEkx4254yM\/TKlK7sVnLDFy4EVmsLQ6YRvkljadhI+PDc59\/pt1wrxrg5oc0ggjII6qktNvorhpeihmibIzstjjdrupB6HKp6K8yaWnqLTcA+ojj+amLNyQeQ8P0weey0cE7qOpyKvKCUquj38DZPeyNhfI4Ma0ZLnHACz1bq6HtvhLTA+vqXbDgB4B+\/28VFFuvGppGy3RxoqDILadp+Z3n\/X2WjoLZR22Ls6OnZEOpA3d5nmVFox1zZbFVq+Duri9fJe5ytDbmKVxur4jM52WiMfgHcp6IqN3OmMcKsERFBYIiIAiIgCIiAIiz+o7vcaKrpKO3RsM1RkguGc46BTFYnZGdSoqccTNAip7FqGG8NfE+P4eri2khcd\/Mf3srhGmnZkwnGccUXkERFBcIi8veyNhfI4Ma0ZLnHACA9KBeKugp6CWOvqGRMlYW4O7jkY2HVVFXqeeundRafpzUSj8U7h8jPEZ+5+q90GlGOmFbeZnV1UdyHHLG+GOv28Foo2zkcsqzqd2kr893yUFgqr7XUH8Ltj2RRRHL5icFgcScffkMq5n0VT\/wANlDJpJrgfnbO92MuHTHcfVIQLVrx8TRwQ18OWtaNsjy\/7T7rUq85tO6MNn2eMoONTNrLp0KTTF3fcqF0NRkVdKeCUO5nuP09wrtZK6g6e1RDdWDFLWfJPjkD1P2PoVrVnNLVbzp2eTs4S1j\/kwiIqHQEREAREQBERAEREAWY1i19M+3XVjeL4Sf5h3g4P6Y9Vp1Du1C25WuopCATIw8Gejuh98K0HaVzGvBzpuK1Ki\/WM1nBeLS\/s62MB7XM\/+UY++PfkVOsF6ZeKPLhwVUXyzx8sHv8AIqPo+udWWKNkn46Y9kdug5fTA9FEvlHJZa7\/AIgoc44sVMQOzgds\/wB9d1pr3H5HMnhSrw0eq\/PlvNQipq7VNto6VkrZRNJK0OZCw5ccjIz3KrEGodRnNS82yhd+Ruz3D7++B4Kig9Xkby2iKeGHefL88CfdNWUVDJ8PStNbUnYMiOQD3E\/oFBZZrtqKRs97lNLTDdlNHsfXu9cnyV5bLJQWiMNpYRx4wZXbvd6\/srBTiUfCU7GdTOq8uC0+ThSUVNQQCClhZFGOjRz8z19V3RFmdSSSsjNazp5G0lNc4M9rRSg5HRp6+4Hur+lqGVdJDUx\/glYHjPcRlep4Y6mCSCVvFHI0tcO8FZvTFRJba6o0\/VHLonF8DifxN54\/X1K08UehzP8ATrX3S9V7lhqmi+O0\/UtaPniHat\/8dz9Mrtp6tNfY6Wd34uDhdz5jb9FYkAjBGQVmdJB1HWXS1Ozw083EzJ6HI+wHuizg1wEu5XjL+St9M1+TToiLM6giIgCIvL3sjYXyODGtGS5xwAgPSKHS3e3VkhjpqyKR4IGA7nnPLv5FTFLTWpEZKSumERFBIRQbleKG0xcdXMGk\/hYN3O8h+qoDdb9qE8Fqp\/gqU7fEScyPA\/t7q6g3mYVK8IPDq+CPD6pmldUVTpy\/4OuYZRwjOHZzy88j1C9S1l61RE6GipW0lBIMOmmGS8eH9PdcLrpAUlolrW1UtRWxYke952IHPb679y1NprWXG109UzHzsHEB0dyI91pJpLEszjpwnKTpyeFa268zM6Po6alulZSVNO34+mOWyHf5eRI7um\/cVslltQg2i\/UN6jPCyR3Y1GeWP8Z\/9QtQCCMg5BVKmdpcTo2VKCdLg\/s9D6iIszrCIiALO6qt8vBFd6FuKujIcSObmDnnvx9srRIpi7O5nVpqpFxZDtVyiu1vjq4duIYc3\/a7qFSUoEH+oNWAcCanBx37N\/ZcXA6T1BxgYtded+6J39\/TyXWkcKn\/AFBq3ghzYaYAEbjk39ytUrXa0sccqjlgjLxKSv8AfPzNQiIsT0AvjnBrS5xAAGST0US53WktNN29XJwg\/hYN3PPcAs42C76tIkqHGhthOWsb+KQfr5nbwV4xvm9DCpWUXhiry4e\/AlV2q3S1Bo7HTGtn6yAfI39\/PYLnDpmvuR7W\/XCR4Jz8PE7DR+nsPVX9BbqS2U4gpIRG3qerj3k9VKU40vCUVBzzqu\/Ld8mQ1RabZaLVDVUlMIZ45miJzSdzud+\/l1WrhLzBGZAQ8tHFnvxus1fXfxPVNttbN2Qu7aXb1xnyH1WpSV8KuRQS7SbirLJFRddS260SdjO975sZ7ONuSO7PQKr\/AIjqO+ACgpBboHDPbSHcjwJH2HqtKaSmdUCpNPEZwMCUsHF7812UKSWiLypVJt4pWXL3KKg0nQ08xqawurahxyXzHIB8jz9cq8AAGAMAL6iq5N6mkKcKatFWPLmtewscMtcMEd4WY02TaL1XWOR54c9rT56jG\/0x7FalZjVsJo56K+QtPaU0rWyAfmbz3+o\/8leGfd4mO0LDaqv2+m8sNUUfxmn6lobxOjb2jfNu\/wBsrrp6rNdYaSdxy\/g4XHOclu2fplTY3xVdK2RvzxTMDh4tI\/ZZ\/RLiyhq6NxJNPUuG\/QEfuCmsHyDyrxa\/cvTM0qLjU1lNRsa+pnZE1x4Wl7sZPcuoIIyDkFZnTdXscW1lM6qdSiePt2c4+L5uQPLyIXdYzVtDU265xX6iIbggSEdHcsnwI2\/ytLaLnFd7dHVxbE7PZnPA4cx\/fTCu42SkjCnWxVJU5KzX3RSU1zmsmo57fcZy6mqXdpBK8\/hydgT9PRalZfXVB8RbIqxoPFTOwcD8rv6ge6j2+PUtJRxxW0w1VHKwPhlmd80bSNhz\/dXcVJJmEasqVSVNptarjmaS60EFzt0tNUYaxwyHn8hHJ3oshomsp4LlPHUyntqhrWwuds14GRzPkMeS01zs8t2hgjmrpIWtbidkOQ2Xl48tj7qNd9O2x9n7McFJ8M3Mc3+3zPVRFrDhe8mtTm6iqxXh+\/8AzMvlRXfU8NFN8FRRmsrieERs3DT446+H2Wabqa410MFs+Ljpw4mN9Y8kcQ7yem336LXWWx0Nopx8OBJI4ZdO7BLvLuHgjgoeIRryr5UslvfsV1s03NPUi432T4mpO7YTuyP9D5cvNaVEVJSctTqp0o01aIXKpqI6SmlqZncMcTS5x8Auqyd6q5NQ3GOyW55dA1wNXK3kACOvh9ThIxuytap2cctXp1JGlaeWplqr3UNxJVvIjBGMMz5eA69FpFypqeOkpoqaFvDHE0NaPALqknd3Jo0+zgonmSRkTC+R7WNHNzjgL0o9bQ01xpjT1cXaREgluSNx4hdwABgDACqaZ35H1ERCQo9wpG19vnpH4xKwtyRnB6H0O6kIhDSaszA6f1JUWyubbbjIPhmfyQTj+UQTvnu6e3crfS+I77fImnLTPxDfl8zv3+iz+s7eaa\/GWNh4apokGB+bkftn1VjoCQPqK4vfmQtYdzkuG+T6be66pJODkt54tGc4140pbm7fQ1F4tkV3t0lJIQ0ndj8Z4HDkf771TaPucxE1nrNp6TZg68IOCPQ\/dadZHVMT7NdKa\/UbfmLuCZuTh222fMZHoFjDNYTv2hdnJVlu16fBq5Yo54XwysD43gtc08iFjIXHR2ojDI8ut9YM8RH4d\/Du+xWrtlxgutCyrpz8rti082nqCqLXdI2W0w1AbmSKUNBHcRuPfCmGuF7yNpSdNVoarNF9cKZlwtk9Ps4TRENPMZI2Pvgqq0XU9tp9kZxxU73Rkdeed\/dV1DcqvTBipbm4z2+UDsKho3YD0I548OnTKgUN1qLfX3Chs0QqzUy8ULmnLWDffHkR7Kyg7NGT2iKqRm8nmmt\/FGuu97o7NB2lS\/L3D5Im\/if+w8VRQ2y5aolFVdXPpaIEGOmbsXDv\/qd\/JTrTpdlPOK+5y\/GVp3y\/drD4Z5rQKl1Hw6m\/ZzrZ1Mlw9\/Yg1Nlt1VQtopKVghb+ANGC094IWf7G+aWcfhw652\/H4TnijHcBvjzwR4Ba5FCm1kzSdCMneOTW9FHR6vtFVCHyTmncdiyVp+42Ul+pLNHHxuuMJH\/SeI+w3XeptFurHcdRRQSOP5iwZ91wZpuzRv4226En\/qHEPY7J3OZW20LK6f1KWrvVdqJzqGxwvZATwy1T\/lwPDu+\/gr60Wims1GKenGXHeSQjd57\/AOimta1jQ1jQ1o5ADAC9I5XVloWp0bSxzd36dAiIqG5HrK+lt8Xa1c7Ym74zzPkOZXiiutBcW5pKqOXwBwRtnkd\/8FUUdNDd9Y1ja1gljo42hkThlue8\/XbxUyr0jaql3aQxOpJgctfA7hwehxy9lphismcqqVZNuCVr25l4iyYbqTToGCLrRtByD+NoH1G3mFZ0GqrZXSCF03w82N2TfLv3ZO2VDg9VmWjtEW8Mu6+ZcovLXNeMtcHDwOVErbxb7e1xqaqNrmjJYDl3sqpNm0pRirtlTralY+ztrOPgmpZAYz35IBH2PosraXT2Oqt90ceKlqMh5adhuQQfEDdX8cc+rrpHUywvitMG7Y5DjtTvvt\/ePNRqGi7Rt00vPs5hM1K5309xj3K6Iu0cLPIqxdSr2sVbhza99DbNcHNDmkEEZBHVQr1QC5WippfzPZlv\/cNx9QsnpDURppBbK6TETjiF7vyH\/afBbpYyi4SPQpVYbRT9T89sbrpRUDrna2CaIEtqac8hjqBzOx594Kmag1HQXjTrmQueybtGkxPbuPXkV4obvHpqe6UfCZpDUfyIwNyfHw5dc+Cm0GmZ7lWG5X1rGucQ4U0YwCe92P77z0W7tfEzzoKbh2VN3vk1uXn+CO2e6app46Kki+Et7QGyTvGS7A3\/AMD1K0tqs1HZ4OzpY\/mIHHI7dz\/NTWMZGwMjaGNaMBrRgBelhKd8loelSoKLxSd5cfYIiKh0BERAEREAREQBERAZmM\/A6\/laflZWwZHiQB\/+T7rTLN6vpXshprvTszPRShx8W5zv649yryhrIrhRRVcBzHK3I8O8eh2Wks0mctF4Zypvquj+SQoNws1vujQKuma8g5Dxs73CnIqJtaHRKKkrSVzNu0LaXScYkqW754Q9uP8A6qTRaRs9E8Sdg6d7eRmdxfTl9FdorY5cTJbNRTuoo+NaGtDWgAAYAHRZvVdPLRy019pB\/NpXBsoH5mE9ft6rSqDd6uhpLfL\/ABB4EMjS0t6v25Ad6iDsya8VKm03bnwMoylt90v1XThzBSVkAqI3\/mjdjOR0GCXZHiuUOoLzFDNbaD\/nhAOFtSyMucAOZ8R3E\/VQbHbXXmt+BM\/YQxtLs8OJHsJzjx559eq\/Q6C30ttphT0kQjYOeObj3k9St5tRyeZ5uz051lij3dc16Ge0fZpIRLca+ImokOGGTdzdzk79+3t4rVIiwlJyd2enRpKlBRQREVTUIiIAiIgCIiAIiIAiIgPL2NkjdG9oc1wIcD1CyMsdfo+q7WnDqi0yPy6PmYz59PsVsF8c0OaWuAIIwQeqtGVjGrSx2admtGR6G4UtypxPSTNkaQMgHdvgR0KkrNVmlpaWZ1ZYKk0c22Yi48Dufn7HZeaLWDIX\/C3unko6hg3eWEtd445jPqFbBfOJmq+B4ays+O7\/AHU06jVNwo6SIy1FVFGwdS4f2VU3avsN2t5gnurY4+IOJikw446Y6+yzLo7PJWCKzW6ouUuQcyucGeeBg++ApjTvqUrbThdo2fn+EXjtR3S7VBhsVEOxzw\/EzjA8x0+58F2otKB8\/wAZe6g19Sfykngb4eP0HgvVqsdTJVQ3C6YZLC3EVNHsyLxGCVoUlK2URSpOp3q2fX29zLapifba2ivtMzeB3ZzAdW9P1HqFpYZmVEEc8ZyyRoc094IyFzuFI2vt89I\/GJWFuSM4PQ+h3VNo6re63y2+cgT0MpjLeob\/AJyPRRrHoXX6de26Xqvg0KIizOoIiIAiIgCIiAIiIAiIgCIiAIiIAuU9NT1TOCohjlbjGHtBXVEIaTyZVjTdmDy8W+LJGCN8e3Lop9PTU9LH2dPDHE3uY0BdUUtt6lY04R8KsERFBcLKzD+C63jnJa2nuTS0nHJ2364\/9lqlRawoPjLHJKxuZaU9q0g4IA\/F9N\/RXg87Pec+0xbhiWscy9RQrRXi5Wqnq9uKRnzAdHDY\/VTVVqzsbxkpJNbwiIoJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8yRtljdG8Za8FpHeCvSIDMaMkfAyutcp+aknON+h2+4z6rTrLTu\/hmvY5SCIrhEGE424uX3a33WpWk9b8Tm2bKDh\/F29vsERFmdIREQBERAEREAREQBERAEREAREQBERAEREAREQGd1pTPfa4q2LaWjlDwfD\/OFeUdSyso4amM5bKwOHqEqoG1VJNTv\/DKwsPqFRaKqnSWl9HKCJaSQsLSMYB5fXK01h0ObwV\/7L7r4NGiIszpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALKxvFp12+ItDYrjHkHiP4ueT45BHqFql84RxB2BkDAKtF2uZVaeOzT0dz6iIqmoREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "ILUSTRE MUNICIPALIDAD DE SIERRA GORDA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "YARUTTZA TORRES BARRAZA",
    "correoContacto": "ytorres@munisg.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJAS SALEN EN BLANCO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+5699496339",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R640\",\"id_control\":\"28972\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28972\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28972\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28972\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:50",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "09:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 09:49:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69253200

[10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69253200', 'EP2540', 1, 7373114, 66861, NOW(), 
				'08:00', '09:32', '09:50', 10, 'se hace entrega de 1 juego de tintas mas una caja de mantenimiento.
mantención', -1, 
				'', '','1','56040',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781099365.png', 'se entrego 1 juego de tintas mas una caja residual.
mantención', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200664
[10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200664', 'EPS-R640', 1)
				
[10/06/2026 09:49:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28972 and
				    IDproducto = 'EPS-R640'
				

10/06/2026 09:49:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R640';
                [10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200664', 'EPS-I302', 1)
				
[10/06/2026 09:49:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28972 and
				    IDproducto = 'EPS-I302'
				

10/06/2026 09:49:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200664', 'EPS-I303', 1)
				
[10/06/2026 09:49:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28972 and
				    IDproducto = 'EPS-I303'
				

10/06/2026 09:49:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [10/06/2026 09:49:25] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200664', 'EPS-I304', 1)
				
[10/06/2026 09:49:25] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28972 and
				    IDproducto = 'EPS-I304'
				

10/06/2026 09:49:25 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
10/06/2026 09:49:25 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200664'                    
				WHERE idllamado = 12935			
				TO ENVIO: micorreo@miempresa.cl, ytorres@munisg.cl


10/06/2026 09:49:25 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12935			
				
10/06/2026 09:49:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:49:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:50:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:50:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:50:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:50:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12935
            GROUP BY l.idllamado;
            

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12935
                

10/06/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:50:55 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

[10/06/2026 09:50:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:50:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:50:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:50:55 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:50:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:50:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:00 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

[10/06/2026 09:52:00] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:00 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:52:00] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:01 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:52:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:01 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:52:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

[10/06/2026 09:52:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:02 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:52:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:02 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

[10/06/2026 09:52:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:02 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 09:52:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:02 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 09:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

[10/06/2026 09:52:02] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12939
            GROUP BY l.idllamado;
            

10/06/2026 09:52:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 09:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                

10/06/2026 09:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12939
                
[10/06/2026 10:15:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:15:28 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 10:15:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:15:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 10:15:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 10:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:15:29 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null[10/06/2026 10:15:58] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:15:58 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 10:15:58] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:15:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 10:16:03 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 10:16:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null[10/06/2026 10:20:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:20:35 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 10:20:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:20:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)

10/06/2026 10:20:39 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:20:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:20:43 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:20:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:20:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:20:53 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:20:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:20:53 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:20:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:20:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:20:55 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:20:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12936
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76009541
            [ClienteRazonSocial] => SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1952
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:21:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                
=========================================
FECHA: 10/06/2026 10:25:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-qsVGedH5IVk_0Wt2Lu+mlxWZbMqqc7_2CLqNrL+Kpl+uoECZZxs
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76009541",
    "serieinterna": "TO1952",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "411390",
    "contadorColor": "248767",
    "contadorScanner": "0",
    "detalle": "•Se entregan insumos de impresora, recibe Michael Leon",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12936",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCALsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAQFAgMGAQf\/xAA3EAABAwMBBgMGBQQDAQAAAAABAAIDBAURIQYSMUFRYRMicRSBkbHB0RUjMqHwJEJS4TND8TT\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAgECAwUJAAMBAAAAAAAAAQIDESExBBJBEyJRYbEycYGRocHR4fBCQ1Ji\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCr7teqKzweJUyecjyRN1c70Ci33aKO07tPBH7RWyfoibrjucfJUstILVTPvl+Laq4SY8GBx8rTy07fAeqsjDqzJdxGMxhut30X78jZatoLxdNoo4HRMihALnxY\/S3HEnjnh8QuwVFstaZKGlkrKs71XWHxHk8QDrj11OVerljWdCXCxmq8zeW9QiIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC57aDaB9NKLZbG+NcJfL5dfDz9flxKXy\/zMqRabQ3xq6TQkaiL\/fyUiw7PR2hjppX+PWS58SY6+4Z\/hViSisyMk5ysl2dfxfh5Lz9DTabNBY4JblcJRLVkF8sztd3qBn581BtdPLtNdhequMNpICWQQnXexzPvPxHZeVkz9rbsyhpS4W2lfmeUHSQ9B8Dj1yuqhhip4WQwsDI2DDWtGgCk21vuyuuuNjxH2F9WbERFSbwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKg2kvctJuW63+evqNGhvFgPP1\/8AVu2ivotFO2KBviVk+kUYGcdyPl1KoYq2j2ZMk1W7268ygmTDsiPP9u916\/8AithDqYuIvSzBPHi\/D9nRWCyR2ek82H1UozNLxJPQHoq7aO6z1M7bHaXF1VKcTPadI28wTy79PelftJUMtdPDHAW3WrZ5YWjWPPMj9wD71N2csYs9IXTEPq5jvSvzn3A\/zVNu9I5pNKmrRdX9veyZarZT2ihbS04OAcuceLncyVNRFW3nVm2MVFYWwRRq24UluiEtZOyFpOAXcz2C3seJI2vbwcAQuYHMs4MkREOhERAEREAREQBERAEREAREQBV17u8Vmt76mTDnnyxM\/wA3fbqt1yudJaqY1FXJut4Bo1c49AOa+c1tTW7UXr8pjnF5xFHnSNv07lW1w5tXsYuK4nslyx1kzU2511TcXVMe9JXTnDXgatzpho5aaK9hoKbZanbcLkBU3OQkwQ5yGnqep7\/DqrKlt9u2Ot7q2qd41S4bu9zJx+lv3XlltlTdK8X+6jDj\/wDNDyY3kfqPirZTT22MVdEotJ6zf0835knZuyzUzpLncTv19Tqd7Uxjp6\/YBX6KBc7zQ2iLfq5sOIy2NurnegWdtyZ6sYwphjOhOJAGScALl73tpBRl0FuDaiYHDnn9Dfuq27XO43SldPVF1utp0bH\/AHz9h1+Q7rPZ3ZT2t7LhXxblPxipzxcORd2+forYwjFZkYrOIstlyUr4nlkslVtDU\/il4e98JOWMcceJ6dG+i7gAAYAwAjWhrQ1oAAGAByXqrlJyZropjVHC1b3fiERFAvCIiAIiIAiIgCIiAIiIAqy9X2lslPvzeeVw\/LhBwXfYd1G2j2jjssIjjaJKqQeRp4N7n7Lh4Ka47RXnw5HOdPJ5nueNGN69hrp6hXQrzrLYwcTxfI+zr1kTIKW6bY3F08j9yJhwXkeSMdGjmf4V2VPSWvZe2vkGI2NHnldq+Q9P9LeBQ7P2nlFTwN1PNx+pKoKOmqtrK5twr2GO2xH8mA\/9nf7n3LrlzeSRCFapf\/Vj\/vl6i30NRtPcW3e5RmOjj0poM\/q14nt1PP0XWSSMijdJI9rGNGXOccADuVUXfaKis7RAweNU4wyCPl0z0VbHZbrtA9tRe5zTwA5ZSRjGnfp78n0UWubV6IsjJV5hDvS6\/v8ABsq9pqmvqjRbPweO8frncPK3uPuf3USagodnm\/iN6mNxr5DlkZORntnkOp+CtLldbdszTNpaSnYZ3j8uCMceWXH+ErVZrBLJUm7XrE1ZJqyNwyIumnX5eqkmks7L6srlGU58ueaX0j+zVabRVXWsF4vYJdnMFM4aMHIkfT3ldQiKqUnI21VKtYXxfiERFEtCIiAIiIAiIgCIiAIiIAqPaHaFlqYKamHi10ujGAZ3c8CR8go982nNPMLfamiprXndyBkMP1Py5pQWelslPJeLvJ41WBvySO8wYTyb34DPwVkY41kY7LnNuFb23fRfs56egktMIuFz\/qLlVH8mBxyWE\/3uHPGmB3+HVWW2w7P2ySprpGeO\/L6iZxz7s8\/qVXWWN1fVS7TXZwiYwEQMf+ljRz\/c475KpL3fZ9oLhHTU0Mj6Zrvy4W5zKepx\/ArWnPT5mKMoULtMav2V19795PllO0lS6vuM\/sllp34Y1xwZD9\/lwHMqUbrc7+\/2SxRGjo2DddUOG7pw06eg19FlbdlJarw572\/eDBiKkYcNjHTT6fFdVHGyKNscbGsY0Ya1owAOwUZSitjRTTZNZk8Z38X+EVVo2bobQN9rfGqDqZpBk+7osNoNoGWiIQwt8atl0jiGuM8z9uaxv20H4e5tDRM9ouE2jIxruZ4E\/ZeWPZ1tC811e72i4SHec92u4eg791H\/ANTLW\/8AVQseL8P2a9n9n300pudzd41wl83m18PP1+XALoURVyk5PLNFdca48sQiIuFgREQBERAEREAREQBEWueeKmhfNPI2ONgy5zjgBA3gyc5rGF73BrWjJJOAAuKve1c9wm\/DrKH4ed3xWjDnno3oO6hX3aKqv1UKGgbIKdx3WsH6pT37dl0uz2z0FipjU1TmGpLfPIT5Yx0B+qvUVBZluebK6fEy5KniPV\/gy2b2bjs0PjTAPrHjzO5MHQfdUe0V6pbldG0UkxZQUriZiw5Mx6Aft8Spd42uFTvW6zMfNNL5BKBpr\/iOfqucpLDJX3H2CkeJTH\/zzjWNnp1+vpqpwi880yi+xKKpoWV6+X5LaOWv2ukbQ0zBR2uDAIAzgDgCeZ7cF1dqstFaIgymiG+Rh0rtXO9T9Fvt9BBbaKOlp24awak8XHqe6kqmU86LY308Pyd+esv7YKiv+0HsJbQ0DfHuE2jGN13O579lrvl\/ljqPwq0s8evk0Jbwi+mflzW\/Z\/Z6O0xmeciatl1klOuM8gfrzRJJZkJ2Ssl2dfxfh7vP0PLBYBbQ6rq3eNXzaySE53c8h91doig228svrrjXHliERFwmEREAREQBERAEREARFrmmip4XzTPDI2DLnOOgCDYTzxU0D55nhkcY3nOPIL5xfbxU32ta2MSCnc7dp4BxeeGSPX7DmVMvl5ku7DO8Ojtkb92KPOHVD\/sP29SoVkiulfWvloIGCXG4J3DDIBjl0OPUrVXDlXMzxeJ4h3SVcNvUu6CK3bH0vjV72y3KVuRGzVzB07evw4Lyenud7gfW3l5oLZEPE8Bv6nAfX19wVvaNmKS2v9oncaurJ3jNIM4PYfXiqjaKuff7jDY7Y\/eAeTNJny5A69AM+\/CinmWnzLZQddWJaLpFdX5vqc9a6WqutzdHb4mwb4wXNziJmMHXuNOp16r6NarVTWijbT07e73ni89SlqtVNaKNtPTt7veeLz1KmqFlnNotjRwvCqpZl7QXO32+zCoFptI8Wul0c5vCL\/fyWe0l8ko2tt9ADJX1GjWtGSwHn69PipGz9iZZ6XekxJWS6zS8fcO3zXElFczJ2TlZLs4fF\/Zefoe2KxQ2anJJ8Wql1lmPE9h2+atkRQbbeWXwhGEeWOwREXCYREQBERAEREAREQBERAFyW3UNfJBE6N7RRMBMg3g3zcs5OvYDuuqmljghfNK8MjYC5zjwAXJMjl2xu7ah7XMtNK7DWnTxDz+P7DurK9HzeBk4vvQ7Nbv++RG2Z2eddYhWXTffTtG7BESQD1PYfNdrDDFTwthhjbHG0Ya1owAs2tDWhrQAAMADkuXu93qbtWGy2U5cdJ6gHRg5jP19wXW3YzkY18LDxf1Zo2m2kklbPQWt2WxtJqJ2nRo4YB9dM98LdsNavZ6J9xlbiSo8seeTAfqfkFZ0uzVtp7V+Hvh8VjiHSOJIL3DnkcPRWkUTIYmRRtDWMaGtaOQHAI5rl5Yka6Ju1W2P4eBmqbaK+i0U7YoG+JWT6RRgZx3I+XUrbfL5BZabed+ZUP0iiHFx6nsoViskwqTeLsfErpdWtPCIffHwUYpLvSLbbJSfZ179X4fvwN1gsRt4dW1rvGuE+sjyc7ueQV2iKLbbyy6uuNceWIREXCYREQBERAEREAREQBERAERc5tLdJnSNsduBdWVIGXNdjw28T+wPuUox5ngrtsVceZka51M+011dZaJ+7RQkGpmGu9jl8fiRngF0tJSwUFHHTQNDIom4A+p+ajWi2U9mtzYGBoIbmWT\/ACdjU+ioq2sq9qqt1utrjHb4zieo\/wA+w+3P0U\/a0WyMyfZd+es5dPt7l1M7heam+1JtVjJ8PhPVcmjsenz5K7tNopbPSCCnbknV8h\/U891toLfTW2mEFLHut4uJ1Lj1J5lSlGUtMLYtrqafPPWXp7gq693mCy0JnlG+9x3Y4wdXH7dStl1utNaKN1RUO7MYOLz0CpLRaam61wvd4B3s5p6c8GDkcfzqkYrd7C2x57Ov2vTzMtn7NUVFU693hu9UyHMMbv8ArHXHLsOXrw6ZEXJScnksqqVccIIiKJYEREAREQBERAEREAREQBEUO6XKC00L6ufJa3QNHFx5ALqWdDkpKKy9iLf71HaKM7p3quUbsMY1JPXHQfuotgtQtlNJc7m\/+smBfLJIf+NvHGfn8OSh2ymL537TX17YgQDAx\/CNvI4+Xx4rA+17Z1Qxv01oidrnR0p\/nwVuMLHzPPdjlJTay\/8AFfdnk9XWbYVJo6IOp7ZG782Y8ZP5095XUUVFT2+lZTU0YZGwaDr3PdZUtJBRU7KemiEcTBhrQtyhKWdFsaqqnF803mT\/ALC8godzudNaaN1TUvw0aNaOLz0C2VtbT2+lfU1MgZGwanr2Hdc1RUVTtTXtudxaWUEZ\/p6c\/wB46n6nn6JGOdXsctta7kNZP+yzKzW6ovtY2+XYZYD\/AE1OR5QOR15fPiurXgAAwBgBerkpczJ1VKuON31fiERFEtCIiAIiIAiIgCIiAIiIAiIgMXvbHG6R7g1rQS4nkFwVfd6a63I1teX\/AIbT6U9OP1TO9P3J6YCn7Y3KqqKllkoo5S94DpN1p8+eAHUdf9FS7BshBb9yprQ2epGoadWRnt1PdXxSguZnm3SnfZ2cFot30I1ParhtNOysvANPRN1hpW6Ej6evHpgLq4oY4ImxQsbHGwYa1owAFmiqlJs2VUxr13b3YREUS45+psdXdr0Zrm9nsMB\/IgYf193K\/a0NaGtAAAwAOS9RdcmyuFcYNtbsIiLhYEREAREQBERAEREAREQBERAEREBjuM8Qybo3yMF2NcdMrJEXWRQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "SOCIEDAD SERVICIOS INGENIERIA Y MANTENCION INTEGRAL MPM LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MICHAEL LEÓN M.",
    "correoContacto": "michael.leon@mpm.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56932616012",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I255\",\"id_control\":\"28969\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I258\",\"id_control\":\"28969\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:25",
    "ubicacionGPS": "LatLng(lat: -23.6244747, lng: -70.2901219)",
    "horaLlegada": "10:15",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 10:25:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76009541

[10/06/2026 10:25:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76009541', 'TO1952', 1, 24456550, 411390, NOW(), 
				'08:00', '10:15', '10:25', 10, '•Se entregan insumos de impresora, recibe Michael Leon', -1, 
				'', '','1','248767',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781101511.png', '', null, 'COMPLETADO','LatLng(lat: -23.6244747, lng: -70.2901219)' )
				
[10/06/2026 10:25:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200665
[10/06/2026 10:25:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200665', 'TOS-I255', 1)
				
[10/06/2026 10:25:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28969 and
				    IDproducto = 'TOS-I255'
				

10/06/2026 10:25:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I255';
                [10/06/2026 10:25:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200665', 'TOS-I258', 1)
				
[10/06/2026 10:25:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28969 and
				    IDproducto = 'TOS-I258'
				

10/06/2026 10:25:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I258';
                
10/06/2026 10:25:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200665'                    
				WHERE idllamado = 12936			
				TO ENVIO: micorreo@miempresa.cl, michael.leon@mpm.cl


10/06/2026 10:25:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12936			
				
10/06/2026 10:25:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:17 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 10:25:17 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:25:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

[10/06/2026 10:25:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:25:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:25:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12936
            GROUP BY l.idllamado;
            

10/06/2026 10:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:25:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12936
                

10/06/2026 10:55:24 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 10:55:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:55:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)
[10/06/2026 10:55:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:55:28 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:55:28] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:55:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:55:33 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:55:33] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:55:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 10:56:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:56:33 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 10:56:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:56:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)

10/06/2026 10:56:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:56:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:56:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:56:36 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:56:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:56:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:56:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:38 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:56:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:56:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:56:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:56 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 10:56:56] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 10:56:56 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)
[10/06/2026 10:56:56] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 10:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:57 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:56:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:56:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 10:57:02 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:57:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:57:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:57:05 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:57:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:57:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:57:05 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:57:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:57:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:57:07 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 10:57:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

[10/06/2026 10:57:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:57:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12967
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C879R
            [SerieInternaMaquina] => EP2580
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:57:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:57:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:58:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:58:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                
=========================================
FECHA: 10/06/2026 10:59:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-CCkbzGmgGXwNaggQUt85kgg-7CW7R.yN4Hjlu-eLKzAvX+P7yU3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2580",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos, recibe Caroline",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12967",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQgDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABJEAABAwMABQgFBwgJBQAAAAABAAIDBAURBhIhMUETIlFhcZGx0RQWgaHBFSMyM0JSkwckNFRV0uHwJUNTYnJzkqKjgoOy4vH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EADIRAAIBAgMECAUFAQAAAAAAAAABAgMREiExEzJBUQQUImFxkaHRUoGxweEkM2Lw8UL\/2gAMAwEAAhEDEQA\/AP2ZERAEREARFi3fSaktsno0TTVVZOBDHtwevy3rqTbsiE6kaavJ2NkkAZJwAse46V2m3nUM\/Lyfchw7HadwWWLVftITr3Wo9CpTt9Hj3kdY8+5blvsFstmq6mpm8o0fWP5zu\/h7FO0Y65lGOtU3FZc37GR6w3y4HFsspaw7pKg4BHTwHvK++h6YVI1n3Clpwduq0AkdX0T4qnRcxrgjuwb3pt+n0Jj5E0lO034AnfhpXx7NLra0y8vBcI2n6sN55GeoDxKqEXcb4odWitJNfNmRZdI6S8ExBroKln0oX7+vB4rXWJf9H23ICrpHchXxbWSN2a2NwJ8Cvuj17fco5KWrZyddTbJWkYzwz5rjSavEQqSjLZ1NeD5\/k2kRFA0hERAEREAREQBERAERfAQdxygPqIiAIiIAiIgCIiAIiIAvPW11Nb6d09VM2Ng4neeoDivHe77TWaDL\/nJ3j5uFp2u6z0DrWVRWKrvNSLjpB\/2qQZAb2jh2d6mo5XehnqVniwU1eXovE631940nkMVsa+hoMkGodsc8fzwHtK2bTo\/Q2ga0LDJORzppNrj5LSa1rGBjGhrWjAAGAAuSOeVlkhCgk8U3eX905BERQNAREQBERAFK6TwPtVwpr\/SNwWODKgN2aw6+3d3KqXRWUkddRy0swyyVpaerrUoysymtT2kLLXh4nOCeOpgjnidrRyNDmnpBXYpvQyoe2kqrbM7MlFMWjPAHh3g96pEksLsdo1NpBSCIiiWhERAEREAREQGVpHcTbLLNOx2rI7EbDnaCeI6wMn2LBt1RXaL1kEN0mL6OrYDr84iJ3Rt3fz0L2acn+j6Rp2tdUjIPYVuXO3QXWhkpJxzXjY7i08CFamlFX4mGcZTqycXnG1j1AgjIOQV9U1orcJopJ7HXO+fpDiMn7TBw9mzHUepUqhKOF2NVKoqkcSCIiiWBERAEREAWXfb3HZqQODeUqZdkMX3j5LRllZDE+WRwaxjS5zjwA3lS9ghffbvLf6oHUjdqUrDjYNvhnvJU4pavQz1pyVoQ1fp3npsVimFQbtdjytdLta126L+PgqJEXJScndllOnGnGyCIiiWBERAEREAREQBERATFPm36fTwg4ZXQ64b1jbn\/AGu71TqYuw1NOLTJu1oy3Zv+15qnU58GZuj5OceT\/IREUDSEREAREQBERATGnQItdLLjLWVIzjsKpgQRkHIKxdL6cz6OVGASYy14xngdvuyvdZqkVlmpJwSS6JuSekDB94Kse4jNHLpElzSf1MXS2klpZKe+0YxNSuAkx9pvX4dhVBR1cddRxVUJyyVocOrqXOeCOpgkglbrRyNLXDpBU1oxUSW64VWj9TgGJxfAelu\/Hdt703o+BH9qtfhL6\/kqURFWawiIgCIiAm9MKmWSOktNPr8rWyAEtzsaP\/vuW9R0sdFSRU0IwyJoaNqnYh6d+UKVzhltFAA3J44H75VQrJZJIy0e1OdR87eX5CIirNQREQBERAEREAREQBERATFx5\/5QLYw7hAXe5\/kqdS+RN+UQYOeQptuOGz\/2VQrJ8PAzdH1m\/wCT+wREVZpCIiAIiIAiIgOuaFlRBJBIMskaWuHSCMFTmhs74G1lnnLeUo5Dq44gk59\/iqdSt3JsmlVLdQA2nqhyM7uAPSfZg\/8ASVZDNOJlr9iUavLJ+DKpTmlNBLGYb5Rg+k0ZBcB9pnHu2+wnoVGvhAIwRkFRi8LuXVaaqRcWea218NzoIquA82QbRna08QV6lIQP9Ub6+nlyLZWnWY8\/1bv4buzBVcCCMg5BXZRs8tCFGo5q0t5a\/wB7z6iIoF4REQExRO9F09roX7BUwhzNmMnAP73cqdTOlFPNRV1JfqaMONMdWbbjm\/ySPaFvUVbT3ClZU00gfG8bD0dR61ZPNJmWg8MpU3zv8mehERVmoIiIAiIgCIiAIiIAiLx3WtFvtVTVnfGwlu76W4e\/C6lfI5JqKbZh6Pn03Sq73ADmtIhaekZx4MHeqhYGhtGaWwsleOfUvMpzvxuHuGfat9SqbxR0ZNUk3q8\/MIiKBoCIiAIiIAiIgC8F6trbra5qQ41nDMZPBw3L3oup2dyMoqScXozG0XubrjamsmP5xTHkpQd+RuPd7wVsqTnI0d0v9IdkUdyBDjwa\/O09+3scVWKU1ndcSno8m44Jaxy9jyXO2wXWhfSVA5rtocN7TwIWBZrlNZKsWK7OAA\/Rp\/subwH89iql4braaW70hp6lm37DwOcw9ISMlo9BVptvaQ3l69x7kUra7tVWStFnvT8sP6PUk7COAJ6PBVS5KOEnSqqosteK5BERRLTi5rXsLHtDmuGCCMghTE1juVkqX1VhkD4XnWkpH7c9n857VUopRk0VVKUamuq4mBQaXUU7+Qr2uoaluxzZRgA7OJ3e1brHskYHscHNO4tOQV5q610NyaBWUsc2BgEjaOwjasR+h7qZxfabpUUhznVySD24I6u5S7D7iq9eGqxLyfsUyKXLNMqPDWOpq1rcbTgE9ucL6b\/pBB9fo89\/+U4nwBTA+DO9Zit6LXy9inRTHrjKzZNY6yN\/FuD8QE9eaNn1tBWMA+lzRs96bOXIdbo\/F9SnRTTdPLS7OYqpvaxvwcvvr1aPu1P4Y81zZz5DrVD4kUiKb9erR92p\/DHmvvrzaDnDKnZv+bHmmzlyO9aofEijUxpQ91yuFFYoXH51wknLRnVbw+J7ulHae2oZxT1Z6OY3b\/uWHaL62K7Vd0qaOeoqKjZGIxkNHEdwA9inCElnYzV+k0ppQUsnr4fk\/QY42RRtjjaGsYA1rQNgA3BclMeuFQ\/6mw1knAb9\/RsBT1iv0v1OjkrP8wnyCjs5GjrVLh9H7FOimPT9MJdjLVTRjpc4fvfBC3TKTc6kh48D7NxTB3odYXCL8inRTHoWmMv0rnSxDoa0Z\/8AH4r4NH9IZTmfSF7Cd\/Jg\/wAEwLmNvJ6Qfp7lQimPU2SX9KvdZMOO3HiSnqHbnbZKuseenXb+6uYY8xtK3wepRmogaMumjA6S4LqNyoGnDq2nB6DK3zWKNBrODkmoPUZB5LtGhdkAwYJD1mVy7aHMYukP\/lef4NT5Tt\/69Tfit81w+WrV+06P8dvms\/1Msf6s\/wDFd5rn6oWH9Q\/5n\/vLnY7xfpHJeb9jqv8AJaLxapKf5So+Vbz4jy7Njhu48dy46O6R0lRamMrauGGoh+bdysgbr43OGTt813+qFh\/UP+Z\/7yn79YaCzXClrPRda3PcGTR67iWnpznO7r4KyOCSwmept6ctq0uT19uBW\/LVq\/adH+O3zXJl2tshwy4Urj\/dmafis5miej8kbZGUQc1wBaRM\/aP9SP0NsbhgUjmdbZXfEqHY7zRfpHKPm\/Y9txt9DfKMwSlr272vYQSw9IKw6SurdGKplBdpTPRPOIKnH0eo+XDsXdJoLanHMctVERu1Xj4heaq0KqZITFFeZnMJBMcoJaevf8FKOHRvIoqKtfHGHa7nr46Fa1wc0OaQQRkEcUU9o7a7xaqh8NVPHLSFvN1XE4PVnds4bkVclZ5GynNzjdqzKJERRLAiIgCIiAIiIDi5jH41mtdjpGVx5CL+yZ\/pC7EQ5ZHXyEX9kz\/SF95GIZxGzbv5oXNZGkN6baKIiIh1XLzYY8ZJOd+F1Jt2RGcowi5S0Rl32Z97u0Wj9I4tijOvVPAGABjA9me8joVPDDFTwshhYGRsGGtaNgCydGbL8k0GvONarn58rjvGfs56vFbSlNrRaFVCDzqT1fouCCIigaAiIgCIiAIiIAiIgCIiALz19FFcaKWknB1JG4yN4PAhehE0ONJqzJnRy4S0FS7R+5ODZ4T8w\/g9vAA+HdwVMsbSKx\/K9K18DuTrIDrQvBx7M\/ztTR69m5xPp6phirqfZMwjGeGf4KySxLEjNSk6ctlL5P7eKNlERVmoIiIAiIgCIiAIiIAiIgCIsy9X2kstOHzHXld9CJp2u8h1rqTbsiM5xgsUnZHddbrTWijdUVDupjBveegLGstuqrlcG3+6c15H5tCNzG7cH37O9cbZZqq71bbvfRk74KY\/RaOGR8O9VCm2oqy1M0YyrSU55JaL7v7BERVmsIiIAiIgCIiAIiIAiIgCIiAIiIAprSO1TQTtvtrBbVwHMjGjPKN7Ozf0hUqKUZYXcrq01UjhZ4bRdYLvQMqoTg7nsO9juIXuUjcIX6LXgXSlbmhqXas8TW7GHq+HtCq4ZY54WTRPD43gOa4biF2UbZrQhRqOV4T3l\/bnNERQLwiIgCIiAIiIAi+OcGtLnEAAZJPBS9bfqu81Jt2j4OP62r3Bgzw8+5SjFsqqVY01nrwXM9d60jbRy+gW9npNwfzWsbtDD19fUuNm0cdBUm43WX0quccguORH2dfhwXrslgprNDzfnah\/1kzhtPZ0Baqk5JK0SqFKU3jq68FwXuwiIqzUEREAREQBERAEREAREQBERAEREAREQBERAdVTTRVlNJTzsD45G6rgVN2OpmsVyNgr3FzHnWpJeBBzs6s+KqVkaRWdl2tzg1v5zEC6Fw356Papxa0ehnrQeVSGq9VyNdFj6M3d12tYdMfziE6kvDJ4H2+OUUWmnZlsJqcVJaM2ERFwmEREAXnra2mt9M6oqpRHG3ieJ6B0leK9X+ls0PPPKVDx83C3eT19AWTR2OtvlSLjfi5jMgxUg2ADrHDx6VNRyu9DPUrPFgpq8vReJ1F1y0xkwwvorU07fvS7ff4DrVPQ0FNbaZtPSxCNje8npJ4rva1rGBjGhrWjAAGAAuSSlfJaHaVFQeKTvLmERFAvCIiAIiICbn0fvVVO90ukErI3OPNiaW7OwELgbFfqAa9vvRnOcmOcbDw4kjp6FTop7Rmbq1PXO\/iyWbpPcLZK2G+210bSMcvDtB+HcfYtqhvltuLW+jVcbnH7Djqu7jtXtc1r2lr2hzTvBGQVi1uiFnrAS2nNO8\/ahOr7t3uXbweuRzDXhuvEu\/XzNxFLCy6RWs\/0ddBUxbcRz8M9ufEINI73Q4FzsbyNxfBnGfePemC+juOs4f3Iteq80VKLApdM7NUYD5X07jwlYfEZC2KetpasZpqmKYYzzHh3gouLWqLoVac91pneiIolgREQBERAEREAREQErIwWDTCJ8YdyF05rm5AAfnzI7yi7NID6fpDa6CA60sL+VlwfoNyPI7PNFZLNJsyUbxlOMVlf\/SmREVZrCnbtpI8VPybZYvSq12wuG1sfT7R3D3Loul3qrzVvs9kOzdPU55rRxAPR18eC2LPZKSy0\/JwN1pHDnyuHOd5DqViSjnIyOcqrw03ZcX7e547Lo2yil9Or3+k17zrOe45DT1dfWt1EUG23dminTjTVooIiLhMIiIAiIgCIiAIiIAiIgCIiA8lTa6Csz6TRwyk8XMGe\/esmp0KtMp1qflqV4OQY3k4PtyqFFJSktGVTo0570US\/yHpFQ5FvvfKsG5lQM4HRtz0Do9ielaY0rcvoqaqGNpaRn3EeCqEUsfNFfVkt2TXz9yY9aLnTbK3R+oaOL48keHxX1mnNuDtWopqqF3HLAce\/PuVMuL2MkbqvaHDoIymKPIbOstJ+a\/wxItMrJIcGpfH\/AI4nfAFekaS2UjPyjFt7V6ZLTbptslBTPPSYmk+C850bsxOfk6Hb1J2O8W6QuK9T56yWb9ow95XB+lVjZnNwYcfda4+AXP1bs37Oh7iubLBaI8YttMcfejB8Vzsd4\/U\/x9TPm02tDDiHl6h3ARx4z34Xlffb1eHiG0299NG7fUTDcOkZ2eKpYaWmp\/qaeKL\/AAMA8F3LuKK0QdKrLen5K3qZFjsLbVyk80zqism2yyu3Z6vNFrooNtu7LoQjCOGOgU5f57nXVrbJb4nxNkbrTVBGBq9APR7zuVGi7F2dzlSGOOG9jxWq1U1oo209O3re873npK9qIuN3zZKMVFWWgREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAROLAIN",
    "correoContacto": "carolain.campusano@gestamineria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56991382594",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I906\",\"id_control\":\"28974\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I910\",\"id_control\":\"28974\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I908\",\"id_control\":\"28974\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I909\",\"id_control\":\"28974\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:00",
    "ubicacionGPS": "LatLng(lat: -23.5936509, lng: -70.3923978)",
    "horaLlegada": "10:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 10:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:59:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76132593

[10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76132593', 'EP2580', 2, 24456550, 0, NOW(), 
				'08:00', '10:56', '11:00', 10, '•Entrega insumos, recibe Caroline', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781103596.png', '', null, 'COMPLETADO','LatLng(lat: -23.5936509, lng: -70.3923978)' )
				
[10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200666
[10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200666', 'EPS-I906', 2)
				
[10/06/2026 10:59:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28974 and
				    IDproducto = 'EPS-I906'
				

10/06/2026 10:59:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I906';
                [10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200666', 'EPS-I910', 2)
				
[10/06/2026 10:59:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28974 and
				    IDproducto = 'EPS-I910'
				

10/06/2026 10:59:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I910';
                [10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200666', 'EPS-I908', 2)
				
[10/06/2026 10:59:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28974 and
				    IDproducto = 'EPS-I908'
				

10/06/2026 10:59:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I908';
                [10/06/2026 10:59:56] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200666', 'EPS-I909', 2)
				
[10/06/2026 10:59:56] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28974 and
				    IDproducto = 'EPS-I909'
				

10/06/2026 10:59:56 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I909';
                
10/06/2026 10:59:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200666'                    
				WHERE idllamado = 12967			
				TO ENVIO: micorreo@miempresa.cl, carolain.campusano@gestamineria.cl


10/06/2026 10:59:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12967			
				
10/06/2026 10:59:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 10:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 10:59:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:59:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:59 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:59:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:59:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:59:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:59:59 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 10:59:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 10:59:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12967
            GROUP BY l.idllamado;
            

10/06/2026 10:59:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12965
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2875
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 10:59:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 10:59:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 11:00:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 11:00:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12967
                

10/06/2026 11:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 11:00:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                
=========================================
FECHA: 10/06/2026 11:00:07
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary--fXMh_FpYE_f7_VZm+wHRywSf30K46XGRyx23rtdFFu0xQr2ToG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76132593",
    "serieinterna": "EP2875",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan insumos, recibe Caroline",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12965",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClANIDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgYHBQUGBwAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEVM6LR8BYjQmLhByRDcpLSNFJTVWSCwv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMGBQMEAwEAAAAAAAABAgMREiExBBMyQVGhImFxkdEUgcEjM7HhJEJT8P\/aAAwDAQACEQMRAD8A\/Zl8c4NaXOIAAySepYaysgoKSSqqX8EcYyT9ApZjLnrCTjlL6K1A7Nb7Uv5\/Id6tGN83oYVK2B4UryfI6NbrC3U7xFSh9bM44DYRt7\/yytcXDVdwx6PboaJhHtTHceR3+C7tDbKO3M4aWnZHnm7GXO8TzK2lbFFaIpuqs+OdvJfOpMfZmrZPvL1A3q9RvV\/pCCy6lbu2\/Akcst2+Sp0UY2T9NHq\/dkrJcdTWZvT3CCGspm7PfFgEDPPq+S71sutLd6UVFK8kZw5rtnNPYQtxSl7oZrBVfblqAawnFTB\/C4E88frClWnloyslOh4rtx531XmVaLBR1cVdRxVUJyyVocO7uWdZnUmmroIiISEREAREQBERAEREAREQBERAEREAREQEtduK9aqgtDifRqYCaZo34jjIzt3geap2taxgYxoa1owABgAKbt2IdeXGNwBdJCHNdjfHq7frsVMtJ8kcuz5uUnrd9giIszqCIiALxLFHPC+GVgfG8FrmnkQvaINSY0m80dbcrM4nFPKXxZz7J2\/2+8qnUxMBT\/2iQcIx6TTHix14Dv8AYFTq89b9Tm2bKLh0bQREVDpCIiAIi0LdeKS6S1EVO4l9O7heCMdZAI9ymzKuSTSb1N9ERQWCIiAIiIAiIgCIiAIiICW1EXWe+UV8awui+6mA7MbfDPuVOx7ZI2yMcHNcAWkdYWC4UMVyoZaSYepIOfYeoqfs1xqLHViyXcgM5U0\/8Lh2Z\/WOS04o+aOS+5qu\/DLs\/wCypREWZ1hERAEREBMXj1Na2h\/PLS3Hv\/NU6mLx+81raI2+01pcfDf8iqdXnojmocdT1\/CCIiodIREQHmR7Yo3SO9lgJPgFC6Hqi++1YOwniL8Dt4h+ZVPqarFHp+rfkhz2dG3A63bfmpq3UxtF8sbnN4W1NNh3P2ncRx+Jq2gvAzztpk9\/C3L8uxdIiLE9EIiIAiIgCIiAIiIAiIgC07na6W7Upp6pmRnLXDm09oW4ilO2aIlFSVnoSXpt\/wBNAMrIftChYABMz2mDx7u\/3qgt94oLnGHUlSx5PNhOHDyO63CARgjIK4dx0lba5\/Sxh1LMDnjh2yc53Hmr3jLXI5sFWlwO66P8P5O6iluDVVmLuB7LrTjGOL28fPPmVkZrajY7graOppXd7cj6H4KMD5ZkraYLKfhfn86FKi5lLqOz1ZAir4g48mvPAfDfC6LXNe0OY4OaeRByCqtNam8Zxlwu5NSHp\/7RIv8Ax6b5g\/7lTqX08XV+prtc+HDAehbvzAx1eDR71UK89UjDZs4yl1bCIizOkIiICX1WPtC52yztP3snSSD+UbdXdxL3rWBzLfS10QAfRzAjuB\/qGrHYCbvqSvvDmjoov3MBz8fcPxLuXij9PtFVTBvE58Z4R\/MNx8QFtfC0uh56hvadSa56fbTubMMrZ4I5mezI0OHgRlZFw9IVnpdgiY726cmJ22OXL4ELuLKSs7HZSnjgpdQiIoNAiIgCIiAIiIAiIgCIiAIiIAvL42St4ZGNe3scMhekQHJqdL2aqB4qGOMnriyzHkNlw7vpajtNBUV9LWVUHRtyGh\/M5wBnnzIVkpfVMhuFyoLHDI5rpZBJKW\/wt6vhk+QWsJSva5xbTSpKDlhV+XqaFlst\/gtUdRbrjHAJh0ghe3bfr3B6gF0BNrOEf8NST47wM\/EKla1rGBjRhrRgDsC9KHUu80WjsqjFJSa+5MfbGqY9pbHG4\/yO\/qU\/ai5xDNRpyqa0blzeIgD\/AEqnRRiXQtuai0qPt8EwNc0TDw1NFVwu7OEH5kLzctZW2W11DKSV\/TvYWsDozzO2exVBAIwRkFSdxggu2qqa3QU8XQUeJKlzWDDjz4SQP1kq8cLehjW38I2xJ3y0\/syaau9lt1mhp3VsbJSC+XII9Y+XUMDyXaZfbS8ZFypR\/mlaPmvL9P2d\/O2043zswD5LA\/SdjecmgaP8sjx8iqtwbvmaQjtEIqKw5epybTUU1q1bVUcUjDS1oEkTmuBaCATz6t+Ie5VoIIyDkFRWptL0VutvplFE8dG8dI0vJHCdvnhbVLpGiqKaKsoLjVwiZgcDxA425bY5fRWkoyWK5jSnVpt08N+evJlYilxp6\/0wxTahe8dQlB+pK+ih1lH7N0pJAOQLRk\/g+qrgXJnRv5rWm+z\/ACU6KYP7Zx9dJLjw3+Senaxj9q1UsgHW1wyfx\/RRg80PqVzjL2KdFMfbGqWbvscZH8rv6lPtzUn\/AGD8RTdsfUw6P2ZTopg6oulNtWafqGjrewnHy+qyRa4tbiWVEVRTvHMPZnfyOfgm7kFtVHm7euRRosMVXTzRMljmY5j2hzTnmDyRUsdF0ZkREJCIiAIiIDDV1cNDSSVU7uGOMZccZU\/piGouFZUX+tZwvn9SFuPZYMbj5e\/tWG8TP1Feo7JTOPosDuKqkaDsRnb6eJ7lUxRMhiZFG0NYxoa1o6gOQWnDHzZyL9arf\/WPd\/0e0RFmdYREQGrca1lut09W\/lEzPieoe\/C5Gj6J0dufcJ8OqK15kLsb48e85PmsGq5HV9bQWKEnineHykdTR+ifJUsUTIYmRRtDWMaGtaOoDkFppH1OVfqV2+Uf5Z7REWZ1GOeGOpgkglbxRyNLXDtBUzp6tks1c7TtfgYcTTS8g8E5x57nx2VUuXfLLFeaUNz0dRFvDKNuE\/krxa0ehz1oSupw1XddDqIp2xX2Z1QbTdh0VdFs1zuUv9fmqJVlFxdmaU6kakboIiKDQIiIAsc0ENQzgmiZK3se0EfFZEQNXPLWtYwMY0Na0YAAwAEXpEAREQBERAFx9SXf7KtxERzUz5ZC0ZznrIx2Z+S6dRURUlO+oneGRxjLnFTNlhm1BeHX2qaW00R4aWIu5EY3+fn4K8Fzehz15vKnDifZdTqads4tNvxJ61VN6878k5O+B5Z+a66Iqttu7NYQUIqMdEERFBcIi1rjU+h22pqc4MUTnDxxt8UWZDaSuyesGbpqe5XV27Ij0MXreXLwHxVUuBoqmNPp1jyMGeR0m\/u\/+V31epxHPsqtSTerz9wiIqHSEREBzL3Y4LzTgOPRVEe8UzRu0\/kuPS3+rsVR9n6gD3N\/wqtoyHDv7fmqtYqimgq4TDUwsljPNrxkK6llZ6HPUotyxwdpdn6inqYaqETU8rJY3cnNOQsqmpdNVVtkdUafrXQEnLqaU8THfrv94Xn9ramhcI7xaJoHDZ0ke7Se7O3xKnBfhI+owZVVb+P\/AHqU6Ll0epLRW4EdbG1x24ZTwHPnz8l0mua9ocxwc08iDkFUaa1N4zjNXi7npERQWCIiAIiIAvjnBrS5xAAGST1L6pS+1098rTYbWdmn+9S9TQOY9\/Pv27VaMcTMqtVU431fJdTxK+XV93dTRPc200p9dzduld+vhv1qqhhjp4WQwsDI2DDWtGwCx0NFBbqRlLTM4Y2DHeT2nvWwplK+S0K0aTjeUs5PX49AiIqG4REQBa1womXGglpJHuY2UYLm8xutlEWRDSaszBR0sdDRw0sWSyJgaCeZx1rOsc9RDTRmSeVkTAMlz3YC4lXrG2QP6Km6StmJwGwt2J8T9Mqyi5aGcqlOkrSdjvopX07VV2OKWkZboSR68o9bGO\/n5Beho+eqw653ionJG7WbAdXM5+StgS1Zlv5S\/bg365HenudBTff1sEZ7HSAFc2o1jZaflUumPZGwn4nAXiDRdlhHrwyTntkkP0wunTWi3UmOgoYGEcnBgz7+aeBE\/wCRLovd\/BxBrmkkz0FBVydnqj6Ep+11Y\/7rT1Y8n2ee\/wCFU6KMUeg3db\/p2RMftHfH\/d6bnbnlxF234QvjrlqyZpayyU4DhuJHDl2buCqETEug3E3rUfb4ISq09e7gSJbXb4HOOTJHhpz5H6Ls6WsFZZTM6pna5sgHDGxxIB6zjllUSKXUbVisNkpwnjzuERFmdYREQBEWldbpT2iidU1B25NaObz2BSlfJESkoq70NDUt4fQ07KOj4nV9V6sQaMlozjP0H9Fn0\/Zo7PbwzGaiUB07zvl3ZnsG65+nLXUVFQ++XVpNVKcwtd\/ht8Oru7vFUqvJ2WFHNSi6kt7L7LovlhERZnUEReXvZGwvkcGNaMlzjgBAel5e9kbC+RwY1oyXOOAFN1mrHTzmksdK6tm\/6mDwN\/Px2C8xaauF0Ilv9xkeNiKeE4aPHq9w81pgtxZHM9oxO1JYv49zZrNY2yB4ipukrZnbNbC3bPj+WVqdPqq84MMTLZTubzefWP1HuC71FaqC3DFJSRxHGOIDLj\/7HdbiYorREbqpP9yX2WXfUmoNF0z5emudZPXSk5OXFrT9fiu5SW6ioG8NLTRwjrLW7nzWyiq5SerNYUadPhQREVTUIiIAiIgCIiAIiIAiIgCIiA8uc1jC9xw1oyT2BSdLE\/Vl7NdM14tlIcQNcMcbts+W2T5BbesaxzaGG2wu\/f1sgYAP+XP54HvXboKKK30MNJD7ETeHPaes+ZyVovDG\/NnJNb2pg5R19eS\/JsIiLM6wiIgORe9QU9oDYg0z1cn3cDOZ3xv2fVctliut+kbUXypMMGctpIjyHf2fE+C7jLLRNuz7p0ZdUvAGXHIbtjIHVst9aYlFeE5nRlUk948uS+TXo6Glt8AgpIWxRjqb1+J5lbCIszoSSVkEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDnS2WmmvcV1e57pYmcLWE5aOw\/ErooiltsrGKjey1CIigsEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "GESTA SERVICIOS A LA MINERIA SPA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "CAROLAIN",
    "correoContacto": "carolain.campusano@gestamineria.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56991382594",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28973\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28973\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28973\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28973\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:00",
    "ubicacionGPS": "LatLng(lat: -23.5936533, lng: -70.3923954)",
    "horaLlegada": "10:56",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 11:00:07 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76132593

[10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76132593', 'EP2875', 2, 24456550, 0, NOW(), 
				'08:00', '10:56', '11:00', 10, '•Se entregan insumos, recibe Caroline', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781103607.png', '', null, 'COMPLETADO','LatLng(lat: -23.5936533, lng: -70.3923954)' )
				
[10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200667
[10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200667', 'EPS-I302', 2)
				
[10/06/2026 11:00:07] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28973 and
				    IDproducto = 'EPS-I302'
				

10/06/2026 11:00:07 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                [10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200667', 'EPS-I303', 2)
				
[10/06/2026 11:00:07] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28973 and
				    IDproducto = 'EPS-I303'
				

10/06/2026 11:00:07 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I303';
                [10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200667', 'EPS-I304', 2)
				
[10/06/2026 11:00:07] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28973 and
				    IDproducto = 'EPS-I304'
				

10/06/2026 11:00:07 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I304';
                [10/06/2026 11:00:07] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200667', 'EPS-I305', 2)
				
[10/06/2026 11:00:07] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28973 and
				    IDproducto = 'EPS-I305'
				

10/06/2026 11:00:07 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I305';
                
10/06/2026 11:00:07 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200667'                    
				WHERE idllamado = 12965			
				TO ENVIO: micorreo@miempresa.cl, carolain.campusano@gestamineria.cl


10/06/2026 11:00:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12965			
				
10/06/2026 11:00:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 11:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 11:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:10 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 11:00:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12965
            GROUP BY l.idllamado;
            

10/06/2026 11:00:10 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 11:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

[10/06/2026 11:00:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12965
                

10/06/2026 11:00:11 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 11:00:12] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 11:00:12 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 11:00:12] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 11:00:12 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)

10/06/2026 11:00:12 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:13 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 11:00:13 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 11:00:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

[10/06/2026 11:00:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

[10/06/2026 11:00:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:18 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:18 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:00:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:00:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:00:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:00:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:00:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:01:03 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:01:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:01:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:01:03 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:01:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:01:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:01:06 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:01:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:01:06 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:01:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:01:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:01:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:01:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 11:01:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 11:01:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                
[10/06/2026 11:03:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 11:03:17 - INPUT: {"rutTecnico":"20988335"}[10/06/2026 11:03:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 11:03:17 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

)

10/06/2026 11:03:19 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:03:22 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:25 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:25] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:03:27 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:28 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

10/06/2026 11:03:30 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:33 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:33] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:34 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:03:36 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:36] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:03:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:03:37 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:03:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:03:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 11:04:39] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 11:04:39 - INPUT: {"rutTecnico":"20988335"}[10/06/2026 11:04:39] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 11:04:39 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 01/06/2026
        )

)

10/06/2026 11:04:40 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:04:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:04:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:42 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:04:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:04:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:44 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:04:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:04:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12970
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN DE PC
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:05:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                
=========================================
FECHA: 10/06/2026 11:06:37
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Tbi.5-wrDqq8Ag6I4tXhRR59Y6Z+7teBubZmXZ5kJXBzF_-6tmU
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "BR1815",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "125830",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se configura servidor smtp y se agrega un contacto para escanear a correo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12970",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADJARQDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABKEAABAwMBAwgFCAcGBQUAAAABAAIDBAURBhMhMRJBUWFxgZGhFCKxwdEVFiMkMkLC0gczUpKy4fBTVHKCk6I0Q1Zi4jU2RGN0\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwUGBQQCAwAAAAAAAAECAxEEITESMkFRcRNhkaGx4SIzgcHRFCNCUjRiU3Lw\/9oADAMBAAIRAxEAPwD9mREQBERAFh2+81Vx1BVU8EbDQU45JlIOS8dB4cc9wTVd1dbrXs4d9TVHZxjGTjnOPLvC9VhtbbRaoqbA2pHKlI53Hj4cO5TSSjdmaUnKqoR0Wb+yNJYepLnVW99vjpHhjp6gNdloPKbu3b+1bimNTkSX+xQ54T8og8McpvwKQV5HcTJxpOzzy9SnREUDQEREAREQBERAEREAREQBF01VVDRU76id4ZGwZJK66C40lzp9vRzCRmcHdgg9BB4Ltna5HajfZvmepERcJBERAEREAREQBERAEREAREQBERAERZ99rfk+y1VSHcl7WEMOfvHcPMrqV3YjKSjFyfAxaaP5e1hLVu9altvqM35DngnGO\/J7gqpYuk6IUlggcWgSTjavIAGc8PLC2lKbztyKcPFqG09Xmwpi6\/Ta6tUPDkRF+f3j+FU6mGfWP0iPxv8ARqbf1ZA\/MkOPQ5idIrm0U6IigaQiIgCIiAIiIAiIgCIiAwtZAnTVRgcHMz+8FjW9x01cqKVpPyfcoWcsneGvxxz2nwJ6FQaoiM2m61oGcMDvAg+5eWCiZe9FU9P94wNEbjzObuHswrou0c9Dz60HKveOqV14v1KBFg6Sub623GlqCfSaM7N4PEjmJ8Mdy3lVJWdjZTqKpBSXEIiLhYT1PqgS6lktMkIawOcxkjSTlw6c46D39I3qhUPqqlda9RUt5Y3Mb3tc7oDm43d4HtVu0hzQ4bwRkKyaVk0ZMPOblOE9U\/LgcoiKs1hERAEREAREQBERAFMawc6rlt1ojJzUzBzsbsAbveT3KnUuD6d+kE49ZtDT46gcf+fl1KdPW\/IzYnOChzaRTMY2NjWMGGtAAHQF9IigaQpjTf1rUN6reI2uzYekZPuA8VSuc1jC9xw1oyT0BTehmuda6mpePXmqHEnmIwPeSpx3WZqudaC6vy9ymREUDSEREAREQBERAEREAREQHluUPpFrqoAMmSF7R2kFZejJtrpuFucmJ72Hxz71vKW0VmD5ToT\/APHqOvrH4VYs4MzTyrwfNNfc4vTXWG\/wXuLPo9QdnVNA3dvgM9o61UMe2SNsjHBzXAFpHOF57jQRXKglpJvsyDGRxaeY+KxtK18kZmsdXuqKIkNJ+8zPuz4EI\/ijfiji\/aq7PCXr7lGiIqzUZepKNtbYaqMgFzGGRpPMW7\/iO9Z+jbya+gNHMfpqUAA\/tM5j3cPBUbgHNLTvBGCvzOkhqLPXT1lOXONuqNnM3gXMJIz2bj4hXQW1Fo8\/ESdKtGotHkz9NRdVNUR1dNFUwu5UcrQ5p6iu1Um9O6ugiIh0IiIAiIgCIiAKY0mPSbjd7id+1n5LDngMk+wjwVHNJsoJJOPIaXeAU\/oWPkWBzs\/bnc7yA9ynHdZmqZ1oLq\/\/AHiUiIigaTx3aXYWesl52wPI7cFZ+jotlpqmPO8ucf3iPcvvVswh03VnO94awdeXD3ZXrskJgsdFG77QgbkY4EjKn\/D6mbXEdF6v2PciIoGkIiIAiIgCIiAIiIAiIgCmLN9X1rd6fP22iX2H8Sp1MO+r\/pDacEippsZI4bj+RTho13GbEZOD7\/Up1M6npJKGpg1BRNO2p3ATAcHs4b\/Z39Spl8SxMmifFI0OY9pa5p5weIXIuzuWVafaQ2fDqddHVxV1HFVQnLJWhw6upd6lLC+SxXyex1DjsZiX0rncD1d48x1qrSUbM5RqdpG71WT6hSb4YoddVFLM0GG5UxBb3b\/4T4qsUvqwiiudpufARS8iQ5+7kH2cpSp62K8UrQUuTX4ONOzPs90qNP1TvVyZKZ7j9odHeN\/cVUqd1dQuNJFdaduKmheHgjnbnf4Hf4rYtlfHcrdDWR8JG5I\/ZPOPFJZraFD4JOk+GnT2PUiIqzUEREAREQBERAeO8SbGzVsgOC2B5HbyTheDR8ez0zSnGC8vcf3j7sL3Xr\/0Ov8A\/wA0n8JXi0h\/7Xo\/8\/8AG5T\/AIfUzP8AyF0fqjaREUDSTWuZD8kwUzPtTztGMcwB9+FRxsbFG2Nv2WAAdgU1qj6xfLJSA7jNy3jmxlvuBVOpy3UZqedab6Ly9wiIoGkIiIAiIgCIiAIiIAiIgCmL\/wDQasstTn9Y4xeePxKnUxrfMVLQ1jQSYKkHPRuz+FWU96xmxXym+Vn5lOi4BBGQcgrlVmkwtV2qSvt7ammB9KpDtGFvEjnA69wPcvbZLpHd7ZHUtI5eOTK0fddzrQUlGPmzqksORQXI+qcbmPzw7ifA9SsXxRsZKn7VRVODyf2f2K1Ymr6b0jTlQQMuiLZB3Hf5ErbXTWU7auinpncJY3MPeMKEXZpl9WG3Bx5o89rmZcLJTSPAeJYQHg85xgjxysTTT\/kq711hkccB+1gJ5xge7HgV36InMliMLtxp5nMx5+0ldWrYTRz0V8hadpTStbIB95vHf5j\/ADK1L4nEyOTdKFZarXpxKdF8xyNljbIw5a8BwPSCvpUm8IiIAiIgCIiA8l1AdaKxp3g07wf3Ss3RpJ0zTg8zngfvFbUzNrC+P9tpHip7Qr+VYnsPGOdzcHm3A+9TW4zNLLERfNP7FIiIoGkmK76xr+gj4tggLj1HDv5KnUxTET\/pDq+H0FMAMc+5v5iqdTnw6GbD57b73+AiIoGkIiIAiIgCIiAIiIAiIgCwdaQ7XTkzsEmN7Xbubfj3reWbqGITafrmkZxC53hv9ylB2kimvHapSXcz0W2b0i10s5OTJCxx7SAvUsnS8pm03ROJzhhb4Ej3LWXJKzaJUpbUIvuCy9RWsXa0SwNGZWevF\/iHN38O9aiInZ3JTgpxcXozF0tdDc7QwSH6en+jkzxOOB7x55W0penaLTrmSnYOTDcY+XjO7lbz7QfFVClNZ3XEpw8m4bMtVkS+n8UOqLvbyOTtHbZgxzZz+IeC3LrRC42uppCBmVhDc8zuIPiAsO7Zt2s7dWjcypGxf0E8N\/i3wVQuzeakQoJbMqT4N+Dz+5gaNrfSbI2B5G0pXGNwzk44j4dy31LUANr1xV0mcRV0e1YMAZPH86qVyazvzJ4Zvs9l6rLwCIigaAiIgCIiAKX0aRFPdaPhsqknB7SPwqoUvQ5oteVsBwGVUW0aOk7j+ZWR0aM1bKpCXfbxRUIiKs0kxY\/pNYXmXjycMz3\/AMlTqY0vvvt\/J3kVOM\/5nqnU6m8ZsL8u\/Nv1YREUDSEREAREQBERAEREARF5qu4UdCzlVVVFCOhzgCewcSmpxtJXZ6V1VUW3pJof7Rjm+IwsGp1rb2P2dHDPWSE4AY3A49e\/yXWLlqmuP1a1R0kZ+9MfWHjj2KahLV5Gd4mm8o59Mzt0PLtNP8n+zmc32H3qiX5\/p61XKskraVl0fRinlxK2MH1nHIPOP2VsnRZf+uvFXJnjv4+JKnOMdp3ZRh6tXsoqML\/VFK5zWDLnBo6zheWW722H9ZcKZp6DK3PhlYo0JbScy1NXIet7fgvXHo+xx7zSF5\/7pHfFQtDmX7WIekUvr7GXV19PeNVWx9tcZdgTtZA0gY44z2ZVeuimoqWiYGU1PHEAMeo0Dcu9ck09CdKnKN3J5snda0zpLK2pjH0lLK14dzgHd7SPBbdFUCroYKkAATRtfgc2RlcV1KK2gnpSeTto3Mz0ZHFY2iqrbWP0dx9emkcwjOdxOR7SO5S1h0K9zEf9l5r2OjVg9CuVruwziKXkSEHiOOPDlKnBBGQcgrPv1sN3tUlIxzWPJDmOcNwIPwyvXSxPhpIYpX8t7I2tc79ogbyuNpxROEXGrJ8HZ\/U7kRFAvCIiAIiIApfUAbRaptNwO4POxcerOM\/7lULA1pTGfT75WnDqeRsg6ej3+SnT3jPiU3SbXDPwN9F5rdViut1PVAg7WMOOOY43jxXpUNC9NNXRMaX9W\/39p3E1GQOrlP8AiqdTFi+i1heYs\/aw\/Hfn3qnU6m8Z8L8u3e\/VhERQNIRfEsscMbpJXhjGjJc44AWFV6ytsMmypRJWSk4DYW7ie3n7sqSi3oVzqwp7zsUCKY+WtTTAPhsIY0jhI7f5kexcSXvUtHEZ6uzRGIbzs3bwO5x9il2bKv1UNbO3RlQik4tf0bonOlo5mSADDWuDge\/cvmG56h1Gx5tzIaGmzjaudl3Zn4AdqdnLjkR\/V0nlDN8kU9VW0tDEZaqdkTBzuP8AWVgVGsWTSOgs9FNXS43ODCG9uOPsX3S6Mo9pt7lUTV8xG8yOIHtyfFb8FPDTRiOCJkTAMBrG4CfAu87+\/P8A1Xi\/wTQt2p7sS6tr22+I4+jg4+R969FJoq1QetUbWrk5zI7A8B\/NUKLnaS4ZHVhqd7yzffmdNPSU1IzkU1PHC3oYwN9i7kRQNCSWSJix\/V9YXmm4bTEuO\/P41TqY3036RDnd6VTbuvA\/8FTqc9UzPhsoyjybCIigaQiIgClrWfk3WlfQ4Ijq27ZnHjx97vBVKmNVj0C42y8tH6mTZy4GSW8fZyvFWQzuuZmxPwpVP6vy0ZToiKs0hERAEREB1umibK2J0rBI4ZDC4ZPcuxS2qtMS3J7q+keXTNZgwn7wHQc7uxZFjN2qQ+KgvL4aqLc6lqcntxnPXzbvNWqCcbpmKWJnCpsSh07z9AXTWU7auinpncJY3MPeMKe+UNWUmGzWuCpHM+I7+\/f7k+d1VCcVlhq4cDJIyd3TvAXNiXAm8TTtaV11TOzRVU59qkoZN0tHKWEc4BOR58rwVGvz+m1LS0WpamvbDUNp6ln0kXJAcHbt+M4PDzK2TrimcRsLdWSZ4ZaBnwJUp05N3SKcPiqUaezKWmX4FL9W\/SDVtO4VNOC0dJw38pVOvz+rvdS\/U9JcWWueOUM2bYXkgyE5G7d\/3eS2flvUs+6nsIYf\/tcffhJQbscoYiEdpZvN8HxKdZN51DSWcCNwM9S77EDDvPRnoUzW6h1K2ubRNMLKl27ZQNa8g9B4r0w6JrZ5jVVtzLJ3+s4sBJBPXkIqajnJnZYmdS8aMXfv4HE1NU3R7ajUtfHQU7TllIHhpPaM\/E9i9bNS2C2jYWqkdNI7cBBFjlHrJ3nzXpptFWiA8qVstS7nMj\/hhbNNRUtG0impooQePIYBlJSiKdGqs8k+er+yJ75S1TcwRR26OhjPCSY5cPH8q4ZpCeteJbzdJql2T6jDuHZnh3BVKKO21pkXfpoy+Y3Lrp4GbBp+008DoGUEJY\/7XLHKJ7ysys0gI5DUWarkoZ855PKPIPvHHr7FSooqclxLJYelJWsTNBqWoo6gUF\/iNPKMhtSRhknljvG7sVK1wc0OaQQRkEc689db6W5U5gq4WyNIOCRvb1g8xU0DV6Oqmh75Kq0SnGTvdCf68VKylpqVbU6O\/nHnxXX8lci66eoiqoGTwSCSN4y1zeBXYqzWnfNBERATF9zT6ws1SP8AmZizw58fjVOpjWv0EduruenqR8fwqnU5bqZmpZVai6PxXsERFA0hERAFj6qpfS9O1TRjlRt2gJHDk7z5ZWwviaNs0L4nfZe0tPYV1OzuQqR24OPM8NgqfS7DRzE5JiDSekjcfMLRU3oaVzrG+F\/GGdzcdAwD7SVSLs1aTRDDy2qUX3BEXBIAyTgBRLjlF0UdbT19OJ6WUSxkkBwB4jtRDiaaujvWBqKw+lN+UbeNlcIfWa5m4yY5j19Hh2b6LsW07ohUpxqR2ZGVYL1HeaEPOG1MfqzR9B6cdBWqpa+Uc9luIv8AbgS1xxVxDgR0\/wBc+9UNFWwXCkjqqd3KjkGR0jqPWpSS1WhXRqSu6c95ea5mJrWmc62RV0Q+lo5Q8HoB4+fJ8Fu0lQ2ro4aln2ZWB47xlcVlJFXUctLMMslaWnq61h6NqpPQp7ZO3kzUMhaR1En358l3WHQjuV+6S817HxrRrooKCvYMvpqkYHbv9rQvm6agqK+qFqsP0krt0lQPssHUebt8N67L\/cKmruEdgtsnImlGZ5B\/y24zjw93Sta02mls9IIKZu873vP2nnpPwUrpRVypxlUqyUHZZXfTgjoslhp7PDyt01U\/fJO4byTxAPQtVEVTbbuzbCEYR2YrIIiLhIIiIAiIgC65oY6iF8MzA+N4w5rhuIXYiDUj3NqtGVvKby57RO7eOJiPx9qrKeoiqoGTwSCSN4y1zeBSaGOohfDMwPjeMOa4biFJskm0dcxDIXy2mpd6h\/sj\/XiN6t3+pjzw7\/0fl7Fgi+Wua9gexwc1wyCDkEL6VRsMHWkO105M7BJje127m34961LbN6Ra6WcnJkhY49pAXXe4PSbJWxYyTC4jtAyPMLyaTn2+m6Uk5LAWHuJx5YU\/4fUzaYjqvR+5soiKBpCIiAIi8F7rRb7NVVORymsIbn9o7h5ldSu7EZSUYuT4GPorkuhuErG4jfVHkkcMdXiqdYmkaQ0mn4S4AOnJlIAPPw8gFtqU3eTKcNFqjFMLggEYIyCuUUDQdcMENNEIoImRRjgxjQ0DuCLsRAlYIiID5c1r2Fj2hzXDBBGQQpKIv0fedi4k2qsdlpJP0Tv68RjoVevJc7dBdaGSknHqvG5w4tPMQpxlbJ6FFam5JSjvLT8fU9QIIyDkFSF\/lm07qFt3gAfHVRlj4ycZcBj8p8V6tN3GajqHWC5Etnh3QOPB7OYZ7OHV2LNvFPNqG81sTp2xx0MZbAxxxynnm3444O\/sU4RtLPQy16vaUk471\/BrU2dK2uWmpn3CsJfWVmHuc47w07wD1\/y6FvrC05fIaqyxurJ44pojsn7R4aXEc+\/qx5r1Tajs0A9e4wH\/AAO5f8OVCSk5M0UZ0oUlZ5GminJdcWph5MLKid3NyI8e0rrOqLnOcUenqlzTwe\/IHs7OdOzlyDxVHg79MynRTHpWsanc2hpaUH7ziCR\/uPsQWvVk2TLeYY88zG8P9oTY5tD9Q3uwfhb1KdFMfNa6y42+o6kgczQ78yfMinl\/4q5VkxPH1gM+OU2Y8x2tZ6U\/NFIZY2nDpGg9BK+HVVMw4dURNPW8BYDdCWlowZKp3WXt+C+26HszRgid3WZP5JaHMbdf+i8fY2XXKgacOracHoMrfiuPlO3\/AN+pv9VvxWWNF2QDBp5D1mVy5+Zlj\/uz\/wDVd8UtDmNrEf1Xi\/wa3ptL\/eYf9QLpq2265Uz6WolhkY8cOWMjrHWsv5k2b9ib\/UKO0RZiMBs46xIu\/BzON12rOK8fY8drrpdO3IWivl5dHIc0tQTuaOgny6j1FVql5NBWtwdyKiqY4jdlzSAezHvWHbrS\/wCV5LVcK6opJuMRa71ZOz+upTajPNMzxqVqFoSjk9M\/K\/ofobgHNLTvBGCprRJMVJW0TvtU9SR5Y\/CVx80av\/qCs8\/zLHtlinmvdwoRdJ4HwkOMjM5k38Tv6\/NcSjstXO1KlXtIScOa1Rfopj5o1f8A1BWef5k+ZhO915rCec54+ahsx5mjta3\/AB+aKYkAZJwAvNNcqCn3T1tPGeh0oBWENEUrz9YuFXKOjlAZHmvVBo2yQkF1O+Yg5zJIfYMBLQ5jbrvSKXV\/hHRU6zpNoIbbTTV8xzgMaQPZk+C6WWS636VlTe59hACHMpIxzdf88nsVJTUlPRx7OmgjhZnOGNAXcu7SW6jnYSn82V+5ZL3PlrWsYGNGGtGAOgL6RFWagiIgCIiAIiIAiIgMTUlmdcadtVSEsrqb1onNOCer4LMoaK16tgM9XG6GvjHIqNmeSSf2sY6vcq5TF9tVTQ1wv1pb9KzfPCODxznA49firYS4XMVekk+0tdcV9+qMiWwUFv1VDRVUb30dU3ELi\/BDu0Y593eFUw6ZssB9S3xH\/Hl\/8WVkXqohv+mm3KifyZ6NwkLc+sw849+epUNqrW3G109W052jAXbsetwPmCuzlKyZChTpKbikmnmuh3xU8EAxDDHGOhjQPYuxEVJ6CVtAiIgCIiAIiIAiIgCIiALH1FY23ikBiIZVw+tDJw7v64LYRdTad0QnCM4uMtDE07ezcInUdYNnX03qysduLsbs\/FeOPNH+kKRp4VlPkeGfwFem+abFdMLhQSGnr497XN3B5HT19aw2XCqrtT2o1NJJDWQepMOTuIz9oeJ+KuSTu0YKkpw2Yz1TVnz9y6REVB6QREQBERAEREAREQBERAEREAREQBERATF40xO2aWussmxlkaRLADhsgPEdA5+Pku7R1PX0dtlpq2mfCGSZjLjxzxGOr3qhRTc242ZmjhoRqdpHLu4BERQNIREQBERAEREAREQBERAEREAXGBnON65RAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN DE PC",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:07",
    "ubicacionGPS": "LatLng(lat: -29.9172381, lng: -71.2554749)",
    "horaLlegada": "11:04",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 11:06:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[10/06/2026 11:06:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'BR1815', 1, 20988335, 125830, NOW(), 
				'08:00', '11:04', '11:07', 15, 'se configura servidor smtp y se agrega un contacto para escanear a correo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781103997.png', '', null, 'COMPLETADO','LatLng(lat: -29.9172381, lng: -71.2554749)' )
				
[10/06/2026 11:06:37] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200668

10/06/2026 11:06:37 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200668'                    
				WHERE idllamado = 12970			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


10/06/2026 11:06:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12970			
				
10/06/2026 11:06:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 11:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:39 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:39 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12970
            GROUP BY l.idllamado;
            

10/06/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12970
                

10/06/2026 11:06:40 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:40 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:42 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:42 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:06:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12969
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => MFC-L6700DW
            [SerieInternaMaquina] => BR1815
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:06:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:06:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                
=========================================
FECHA: 10/06/2026 11:07:39
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-C23Hrgc3lWijcXxOOTzJhDz67Q+nD-6cWZpiRehgoR+XAQFo2uD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "91770000",
    "serieinterna": "BR1815",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "125830",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de toner\n01 iton1791",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12969",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHAU4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABLEAABAwMCAgUHBgoIBgMAAAABAAIDBAURBiESMRNBUYGRFCJhobHB0RUWIzJCcQckM1JTcpLC0uE0Q1Rjk7Li8CU3YnSCoiY18f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMGBAUFAQEBAAAAAAABAgMREiExBBMyQVFhcZGxwSIzgaHhFCNCUtHwYnL\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiw9WXKa22gOppCyeWVrGEbkdZ9mO9bFO2VtNE2Z\/HKGAPdgDLsbnZdtlcrVRObguR6IiLhYEWHQ3OqqNWV9C948mgjBYzhGQfN3z3lbi61YhCamm14eQREXCYREQBERAEREAREQBERAFkXW8S2+6W6kZExzKyThc9xO24G3itdTGqtr1YHHYCp3PZ5zFOCTdmUbRJxp3Xb1KdERQLwiIgCKViqp9N3+SCtke+grnl8UhOeBxPX479xVUpSjYqp1FO\/JrVBERRLQiIgCLA1Xcp6akioaEv8sq3cLOjPnADmR2dQ8exbNJHLDSRRzymaVrAHyH7RxuVJxsrlaqJzcFyPZYGlbhV1cdZS10plnpJi0uIAON\/eCt9TFGPIde1cPJlXDxtHadj7nLsc00V1W4zhLle3mU6IigaAiIgCIiAIiICX1Dms1RaLed2Nd0zmjr3+DT61UKYP4x+EQfa8mpv2cj\/AF+tU6nPRIzUM5Tl39AiIoGkmLF52rb04bgEAn05\/kqdTGlfpbxfKnmHVGGn0Zd\/JU6nU4jNsvy79W\/VhERQNIREQBERAEREAREQBERAFMaw82ptEh5Nqd\/EfBU6mNc+bQ0UnLhqR53ZsevuU6fEjNtfyZf9zKdERQNIREQHDeLVDeLe+ll2PON+N2O6isvTF0mJls1wOKyk80End7ffjbux6VRKc1RbJsx3qg82ro\/OcAPrtHw37sqyLusLMtaLg97HVa91+CjRcdquUV2t8dXDtxDDm\/mu6wuxQatkaYyUkmtAviWVkMT5ZHBrGNLnOPUBzK+1O60q3RWllHEfpayQMAzg4G59eB3rsVd2IVam7g5dDm03G+83epv9SzzQTHTNIGw7e4YGfSVVrnoKRtDQQUreUTA3nnJ610JJ3ZGhTwQs9efiFMag\/FNUWauH23GFx9GcfvlU6mtcsItEFQz60NQ057Nj78LtPisQ2r5TfSz8mUqL5jeJI2vHJwBX0oGkIiIAiIgCIiAmKH\/mJcv+2HsjVOpih\/5iXL\/th7I1Tqc+XgZtm0l\/9P1CIueuk6G31MpOOCJzs\/cCoGhuyuYGhvpKGtqf0tSdu4H3qnU\/olgbp1hAxxSPJ35749yoFOpxMo2VWox8AiIoGgIiIAiIgCIiAIiIAiIgCntbxdJp5ztvo5Wu9o96oVlamh6fTlazsj4v2SD7lKDtJFO0RxUpLszvo5hUUUEw5SRtdzzzGV7LM05L02nqF2+0Qbv6NvctNcas7E6csUE+qCIi4TCIiAkcHSupBw5FtuBxjk2J38vYfQq5cF6tjLvbJaR2A4jMbj9lw5H3fcSs\/Sl0fU0jrfV8Tayj8x7Xcy0bA93JWP4lcyQ\/aqbvk817r3N9S9Rm7a5hhGTDbWcbsbjj5+0t8PCoUvo38YludwIy6eoID\/RucDxHqSGSbJV\/ilCHV38ioREVZpCx9VwmbTdWAMloa\/wcCfVlbC5rjT+V22ppxzlic0feRsuxdmmV1Y4qco9UeNimE9iopAc\/QNBPpAwfWF3rA0XOJtORM64XuYfHPsct9dkrSaOUJYqUX2QREUS0IiIAiIgJjAg\/CIcD+kU2\/h\/pVOpi8\/i2tLRVOyBI0xA9p3H748VTqc+T7Gahk5rv6hZuoZOi0\/XO7YXN8dvetJYesZOj01UDreWNH7QPuXIZyRZXdqUn2Z7aXj6LTdE3tYXeJJ961lyWqPobRRxnmyBgP38IXWuSd2ztJYacV2QREXCwIiIAiIgCIiAIiIAiIgC566Hym31MA\/rYnM8QQuhEONXVif0TN0unI2foZHs9fF+8qBS+jR5NPdaEnHQVGwxv1j3BVCnU4mUbK70Y38PLIIiKBoCIiAKW1DA+zXWHUNMCWlwjqWDrB2z\/AL68KpXjVU0VZSyU07eKOVpa4KUZWZTWp7yFlry8TynrIzaJa2J+Y+gdK1w7OHKydExdHp1j8flZXO93uWdbTVMhuOlZJQ2YMcKaR+wLT1eBz3nsVJZqF1utFNSP4eONnncPLJOT6ypyWGLRRTk6tRTton53O5ERVG0IiICX0eBTVd2t42EFR5u3Vkj3BVCl6fND+ECeM7MrYOJo9OM\/uuVQrKmtzNsuUHHo2giIqzSEREAREQExrdhjpqGub9amqBjv3\/dCpmkOaHDcEZCyNVUxqtOVbWjzo2iQf+JyfVle9hqhWWOkmHPog12\/WNj7FY84IzR+HaJLqk\/Y0VMa5d0lBR0oOHTVIwfuBHvCp1MahPlGqLLSnkx\/Skdu4\/hXKfENq+U11svNlM0BrQ0bADAX6iKBpCIiAIiIAiIgCIiAIiIAiIgCIiAmLb+La8uUAGGzRCTbt80+8qnUxX5p9f0Eg+rPAWnqyfO\/kqdTnyfYzbPlij0b\/wBCIigaQiIgCIiAnNV0UsYgvdGAKiidl\/8A1M\/l7CVt0FbFcKGGrh+pK3ix2HrHcchez2NkjdG9oc1wIcD1hS+nnSWe+1VimceidmWmLjzHYO7\/AClWcUfAyv8AarX5S9fyVSIirNQREQEtqnNHebRchsGS9G878sj3FyqVhaxpfKdOzOGS6BzZAAOzY+olaVqqvLbVS1JOXSRNLt+vG\/ryrHnFMzU\/hrTj1s\/Y60RFWaQiIgCIiA+ZI2yxujeMteC0jtBU3ouR8MFbbJXEyUk52PYdtu8E96plLjFq12c4bFcY9uoB3xJH\/srI5pozVvhnCfe3n+SoUvATXfhAmkGSyig4Qcnnjl4uPgqdzg1pc4gADJJ6lMaMaal1xubgc1NQQCezn+96kjkmxW+KcId7+RUIiKs0hERAEREAREQBERAEREAREQBERATGrcwXGzVnIR1GHOPLm0+4qnU5rmIvsIkGxhma7PZzHvC36eUT00Uw5SMDh3jKm+FGanlWmutn7ex6IvGarpqYZnqIov13hvtXDNqWywZ47jCcfmZf7MqKTehdKpCPE0jURYL9aWRvKokfv1RO96+Ga2szsZfMzP50Z28FLBLoV\/qaP9l5lCiyINU2SocGsr2NP94CweJAC04Z4ahnHDKyVvaxwI9Si01qWRqQnwtM9FNavglgFJeaYhslHIA89rSRz9Gdv\/JUq5rjSCut1RSkA9LGWjPUcbHxXYuzuRrQx03Fa+56U1QyqpYqiP6srA8b9oyvVYGjap9RYmxSA8dM8xZPWOY9uO5b6SVnY7SnjgpdQiIolh4VtOKuhnp3DIljczxGFi6KndJYuheCHQSuZv2c\/efBUKmNHjgnu0XPgqefbz+CmuFmaplXg+t17lOiIoGkIiIAiIgCndZUrzborjBgT0MrZA7sGfjg9yol5zwx1MEkEreKORpa4doKlF2dyurDeQcTIut3Z80pK+NwBnhAbjfDnberJ8F7aZo\/IrBSxkEPe3pHZ7Xb+zCjIjUzuptMS7iKtPERy4Qd\/T+cV\/RgGsZgANa0fcAFOawqxl2ebqzxvkrfXmfSLz6aL9Kz9oL5dVUzDh1RE0+l4CqNt0eyLndXUbRl1XAB2mQL5+U7f\/bqb\/Fb8V2zOY49TqRcDr5aW4zcqXfsmafYV4u1PZGYzcI9+wE+wLuF9CLq01rJeZqosJ+srG3lVOft1RO94XO\/XVqGzIqqQ5wAGDfxK7u5dCt7TRX8kUqKY+eT5f6JZayfq5Y37NgU+XNS1B\/FrB0YP6Yn38KbuXM5+qpPS78EynRTH\/zOpOMUlJnr2OP8yGxajqd6nUBjP9yCPZwpgXNjfyfDB+nqUxIAyTgBck93ttNkTV1OwjqMgz4LEGiIZXcVZc6uo78ZHfldkGj7JBjNKZSOuR5Pq5JaC5jHXekUvF\/4fM+srLCDwTyTkDOI4z78Bcg1ZXVg\/wCGWOeUHlI\/Ib6hj1regtlBTfkKKCM9rYwCupLxWiGCvLWdvBf6Rd4GqK61VDqyKnpqVrON8bSMkA59PZ6EtGn6262qnmmvVQ2nczDYG5wADjHPHV2KsuEXT22ph\/SQvb4ghZGipuk05Gz9FI9vrz71PG8GRnezx36U23dc2fEWh7Qw5k6eYkb8cmMnt2AXfDpyzQDzLdAf128f+bK00VbnJ8zXHZ6UdIo5mW2hj+pRU7dsbRNHuX0+ipJM8dNC7PPijByvdFy7LMMehnT6ftFSMSW6AeljOA+IwsyXRVG1\/SUFXU0cvUWPyB7+zr6lSIuqclzK5bPSlrFEq5mrLOzjbLHc4mnduMvx19QJ7ieS7aDV1uqvo6omhnGMxzbDud8cLdXHW2i33EfjdLHKfzsYPiN1LEnxIr3VSHy5fR5\/fUxNGje5lvnMNSeF46+f8vFU656OhprfAIaaJsbevA3P39q6FGTu7ltGm6dNRYREUS0KR0nNPNebtNDAHU88rndKXdfESB6dnErevtf8m2apqQfPDOFm+POOw9ue5c+laDyCwwNcCHy\/SvB7Ty9WFYsoNmWosVeKXK79j9umprfapugkc+abfMcWCW\/fk7c1n\/PPpP6NZ6yXt2x7Mr3v1lqn1bLxa5XNrYR+TJyJAOodnXt1r3sWoortxU80Zp6yMefC7r9Iz7OpdSjhva5W51XVcHLD0y1+vU4RqS9zD6HTkzc8i8u\/hCeXawm+pa6WIDrc4fxKnRRxLki3cTfFUf2XsTHkesZ\/rXClgHY1oz\/l96fN+\/v3fqKQH\/pB+IVOsK\/aenulQKqlr300zWBgaMhrsEncjfrUlO76fQrqULRuryfizl+atzf+V1LVkHm0cX8SfM6V35W+Vj8ctzt61jTU+r7QXPE9RMxv2mP6VuB6DkjwXm7Wl1FPNTVMUTnPYW8RZwuaSMcuXqVlpvRmN1NnjlUg0+9\/9Mx1PT\/KZfJNNJQeUdE6oBHER29fVv8AcrAaCtQOenqz6ONv8KwoLjaJNJvtTi+Gp\/Kcb2ZDpM5G45ZG26q9LXT5Ts0RkeDND9G\/fc45Hwwu1JSSujmy06MpYZWd1fw6o5PmLaPzqn\/EHwX03Q9maMETu9Jk\/kqJFRvJdT0v0tH+qJ8aJsoOTFKfQZCvv5mWP+zP\/wAV3xW6iY5dTv6aj\/VeRjN0lYm5xQDftkefaV7t07Z25xboN+1ufatJFzFLqSVGktIryORlqt0f1KClbvnaFo9y6GRRx\/Uja3bGwwvtFy7JqKWiCIi4SCIiAIiIAiIgCmNE\/Qw3Cjx+QqT69v3VTqY059FqW+xfnSh\/\/s4\/vKceFmarlVpvx9CnREUDSEREAREQBERAEREARFyXO4Q2ugkrJ8lrBs0c3E8gESuclJRV2YGontu9+obG3LmMd0tRwnkMcvRtn9oKpa0NaGtAAAwAOpT2lKKZzJrxWsAqa05aQMeZz9fuColOf9VyM+zpu9R6y9OQWJf7ALkG1dI7oa+HeOQHHFjqPxW2iim07ouqU41I4ZGBYtROq53W25R+T3CLYg7CTHZ6fR3hb6xdQafZd4hNC7oa2LeOUbZx1H49S8NP6gfUym2XNvQ3CLzfO26THv8AbzCm0mrxM8Kkqct3U+j69n39ShREVZrCk6vh1BrCKkDWvpbeC6XIyHO6we\/Ax6Ct68XBlrtc9U44LW4YO1x5etcGk7caO1eUTA+UVbulkJGD6B7+8qyOScjLW\/cnGly1ft9z7qdI2Wp38k6J3bE4t9XL1KUqdPeQamjoIK58HSt46eY8877EjGDsdx6O1f0VT2saJ0ttjroW\/T0TxICBvw9fuPcpU5u9myratmp4MajmszjldrC0jbo7jECcEN4j3gYPtXlDr7gcWVlucxwO\/A\/3Ee9VFtrmXK3QVkYwJW5I7DyI8cr8rbVQXEYq6WOU9TiMOHeN1zFHSSO7mpbFRn55mbS6xs1Tsah0BxylYR6xkLZhqIKlnHBNHK385jg4epSVdoGMnjt9WWHOeCcZHiPgVhzWyotJL66kqqUh2G1FM7iaPX4ecOXepYIS4WVPadopfNjl1\/78H9NRQ9BXXkj\/AIbe6evHVDUebId+x3d9rrXf86rjQkfK1lljbjeSLl6ee3rUHTfI0R2uDV5Jr7rzRUosmi1NaK7hEdYyN524JfMOe\/bwWqCCMg5BUGmtTRGcZq8Xc\/URFwmEREAREQBERAFMUH0X4QLiw8pKcOHgz+ap1MM8z8Ij8fbpt\/AfBThz8DNtGsH\/AOl7lOiIoGkIiIAiIgCIiAIiyrrqKgtI4ZJOln5CGLd3f2LqTeSIznGCvJ2R31NVBR07p6mVsUTObnKXb0+sLjFKYTHaqZ+Rx\/1pHVj\/AHgZ619Q2u4anqWVd4a6mo2fk6YZBP3\/AB9iqYoo4ImxQsbHGwYa1owAFPKHiZbSrvPKH3f4PprQ1oa0AADAA6l+oirNgREQBYuoNPsu8Qmhd0NbFvHKNs46j8epbSLqbTuiE4RqRwy0MHTt8fWcdvuH0dwp8h7SMcYHX9\/b4reWFqKxurmtr6EmK4U+7HN2L8dR9y9tP3xt3piyUCKsh2mi5H78H\/YU5JNYkUU5yhLdT+j6\/kzrnFLfNUQW98LxR0f0kpc3aQ4BwNvSB4qoX5gDOBz5r9UXK9kW06eFyle7YXy9jZI3RvaHNcCHA9YX0iiWkxpR8lvrK6xVD8up38cWetp5+1p7yqdSupR8k3qgvkcZLQ4xz46xjA78E+AVSCCMg5BVk87S6mXZ\/hvSf8fR6H6vxzQ5pa4AgjBB61+oqzUY1w0raq\/ieIPJ5iciSHzd\/u5LNNPqexRjyeZt0p2n6jgS8D2+BP3KrRTU3o8zPLZ4N4o5PsRvlumLw8R3Cj8gqTjJcODB\/WHo7QPYuhulq+hxJZLy9jCMhku7T19Wx8FvXC00N0j4KynbIQMNfyc37jzWE\/TVytcvTWK4uaz+zzHLfu7O3q71NST0djNKjKLvKN+6yZ+\/LeoLZ\/8AZ2np4x\/W05+Gfcuuj1jZ6vAdO6ncfszNx6xkLli1ZPQyGC+W6WmcNuljGWuP+weRK0hT2TUEHTNjp6pp5vAw4feeYRpfyXkSpyk8qc79pa\/6aMU0VRGJIZWSMPJzHAjxC9FNTaJpGv6W31lRRSDkWuyB7D618eT6utoJiqKe4MHJr\/revHt6lHCnoy7fVI8cPLP8lQilxrCWjPDdbRU05H2mDIPjj2rtp9X2Wo2NUYj2SMI9fJccJdDsdpovLFbxy9TbRc9PcKKrOKergmJ6mSAn1LoUC9NPNBTFMRU\/hBqXsGW09Pwud6dvj6iqGqqYqOlkqZ3cMcTS5xWBpCKWoNdd6hnA+slPCD1AE8u847lZHJNmat8VSEO9\/IpURFWagi\/CQBknAC5Zrrb6fPTV1Owg4IMoyu2uccktWdaKfqda2iA8MTpal3UI2fHC5\/lzUNdtQWQwtz9eoOPbj0qW7lzKHtNK9k7vtmU5IAyTgBY1w1XaqAhgm8pkP2KfDvXyXD83bxc35vN1cIiMGGnOAfVj1Fa9vsVttjW+TUrONv8AWvHE\/wAeruXbRWuZHHWnwrCu+vkYjpdSagJZFEbVSE7vdkPcPb4Y+9alp0zb7ViQM6eozkzSjJB9A6vb6VsIuObtZZEobPFPFLN9\/YIiKBoCIiAIiIAiIgCnr3ZJhUC72g9HXR7uYOUo+PtVCi7GTTuiupTjUjZmTYr7DeacgjoqqLaWE8x6R6PYtZT19sMz6ht2tB6KvjOS0bCX+ftXRYNQR3eN0MzRBWxbSRHbvGfZ1KbimsUSqnVlGW7qa8n1\/JsoiKs0mdfqTy2yVUIGXcHE0Y+03cexeGlazy3T9O4nL4h0Tu7l6sLYUtpg\/J97uloI4Wtf0sQ9H\/4WqxZxaMs\/hrRl1y90VKIirNQREQBERAfEsUc0bo5Y2yMcMOa4ZB7lgVWjKB7zLQyzUMuch0biQO7+aokUlJrQrqUoVOJXJc0WrLcfxauir4xybKAHHx\/i7UGrayk8y52WoicPtRgkHx+KqEUsaeqKtxKPBNr7+pOR65s7\/reUR\/rR\/Alec140fVAGYQOOOZpnZHoyGqikpoJvysMcn6zQVzmzWsnJttISf7hvwROPci6dd5Np+K\/JI1UWiZQ50dTPEeeIg\/8AeaQs6OprOl4bBU3OVo2c1wyPRsCfYv6A20Wxhy23UjT6IGj3LrDQ0YaAB2BT3qXfxKXscpO7aXgre5E\/N3Ud2g4LlXdGwEOayR3Fk\/cF2xWXVEELIYrxAyNgDWtDdgP2VVIoOoy5bHBZ3d\/FkwLVqvO96hx+r\/pT5vX6pwarUMjM8xCCBjuIVOi5vGS\/Sw5tv6smBoemkOay4VdQc5+sB7crrh0dZISCaZ0pHW+QnPdyW4iOpLqdWy0V\/FHPTUFHRgimpYYc8+BgGV0IigXpJKyCIiHQiIgCIiAIiIAiIgCIiAIiIAp+\/adfVztuVseILhEc5BwJPv8AT7eRVAi7GTi7orqU41I4ZGJYL+LkHUlW3oa+HaSMjHFjrHwW2sW+aebcnNq6STyavj+pMCRxY6jj2rktupZaeq+TL6zoKoHDZiAGPHUT2ffy+5TcVLOJRGrKm8FX6Pr49ylUvez8maqt1yB4Y5\/oZjyHZk9xH7KqFg6zpfKNPSvDcugc2QeOD6iuQ4rE9pTdJtarPyN5FyWqq8ttVLUk5dJE0u368b+vK61BqxfFqSTQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBclwtlJdKfoKyESNBy05wWntBRETsclFSVmYB0\/erS5zrNczLEMYgn7Ozs7OxedZWanrIJaCe2UzemaWFzZB19nnFEVqnfVGSezqKtGTSfK\/8ApRWijdb7VT0r3Fzo2YOeo88d3JdiIq275muMVFJLkERFw6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "COLEGIO INGLES CATOLICO DE LA SERENA SA",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "AYLEEN AGUILAR",
    "correoContacto": "aaguilar@cicls.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56985439390",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:08",
    "ubicacionGPS": "LatLng(lat: -29.9172405, lng: -71.2555306)",
    "horaLlegada": "11:04",
    "horaDespacho": "11:07",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 11:07:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:91770000

[10/06/2026 11:07:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('91770000', 'BR1815', 1, 20988335, 125830, NOW(), 
				'11:07', '11:04', '11:08', 10, 'se realiza entrega de toner
01 iton1791', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781104059.png', '', null, 'COMPLETADO','LatLng(lat: -29.9172405, lng: -71.2555306)' )
				
[10/06/2026 11:07:39] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200669

10/06/2026 11:07:39 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200669'                    
				WHERE idllamado = 12969			
				TO ENVIO: micorreo@miempresa.cl, aaguilar@cicls.cl


10/06/2026 11:07:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12969			
				
10/06/2026 11:07:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:46 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:07:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:07:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:07:46 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:07:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:07:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12969
            GROUP BY l.idllamado;
            

10/06/2026 11:07:46 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:07:46] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:07:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:07:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12969
                

10/06/2026 11:09:22 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:09:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:09:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:22 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:09:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:09:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:23 - INPUT: {"rutTecnico":"20988335"}
10/06/2026 11:09:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

[10/06/2026 11:09:23] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:09:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                
[10/06/2026 11:12:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 11:12:35 - INPUT: {"rutTecnico":"20988335"}[10/06/2026 11:12:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 11:12:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

)

10/06/2026 11:12:40 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:12:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:12:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:42 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:12:42] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:12:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:12:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:44 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:12:44] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:12:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:12:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:09 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:13:09] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:14 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:13:14] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:13:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:17 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:13:17] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:13:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:18 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:13:18] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:13:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12770
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => MAQUINA NO ACEPTA PAPEL FOTOGRAFICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 12:03
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:14:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:14:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:15:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                
=========================================
FECHA: 10/06/2026 11:15:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dhSiolf0-Ra316nlXLt_3bDRAPqqmb4IVDtS_LzEH4TI+MEM.lA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "llamado realizado el 27-05 \ndonde se le indica a la usuaria que la fotocopiadora no admite ese tipo de papel\nsin contador.",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12770",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHARMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABCEAABAwMBBAYIAwUGBwAAAAABAAIDBAURBhITITEUQVGBkaEiIzJhcbHB0QcV8BZDVGLSNTdCRFKTU3J0gqKy4f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC4RAAIBAgQDBwQDAQAAAAAAAAABAgMREiExUQQyQRMUImFxkaGBsdHhIzNSwf\/aAAwDAQACEQMRAD8A\/sy+XvZGwvkcGNaMlzjgBYt8vs9HOy326n6RXSjIHMMHaf1hcbdKVNxxNe7lNK8nJiiOGt9wz9ApqOV2zPKs8TjTV2vY7azV1moyW9JM7h1Qt2vPl5rj\/ae51mBbrFM8HOHynA+3mtmisttt+yaajiY9vJ5bl3ieK7l28VojmCvLmlb0X\/WTArNZyD+zaSPrztD+tN1rOT\/MUcXVyB7+RVOi5j8kO77zl7mFbbdqCKvjnuF1jmhbnaiY3G1kH3Drwt1EUW7l1OCgrL5zCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmLL6esru5xJc0AAk8hw+w8FTqXLhbdfEuI2LhFgZPI4HzLcd6qFOeqZm4bJSWzYREUDSEREAREQBERAEREAREQBEXLXXGktsbZKuYRhxw3PWUSucbUVdnUiIh0IiIAiIgCIiAIiIAiIgCLlqLlQ0hxUVkER7HyAHwXBJq2xxc64OPY1jj9FJRb0RXKrTjzSSNlFhftnY\/4l\/wDtO+y16WpirKaOpgdtRyDaacYyEcWtUIVac3aLTPZERRLAiIgJnWkboaejucQ9ZSTg9x7e8DxVHDKyeFk0ZyyRoc0+48Vy3mkFdZ6qnLcl8R2R\/MOI8wFw6Qq+l6dgBOXQkxHu5eRCsecPQyrw8Q1\/pX9jbREVZqCIiAIiIAiIgCLG1XWyUNgmkheWSPLWNcDgjJ4+QK+tMU0tNYabfSPe+Ru36ZJ2QeIA7OClh8Nyntf5ezS6XNdERRLgonU5dcdWUFvB9FhaD7to5J59gHgrZR9G2Ou\/EWqlByKdhIz2hrWHzJVtPJtmPi1ijGG7RYIiKo2BERAEREAREQBeFXWU1DCZqqdkLB1uOM\/DtWZfNQttrm0lJH0mvk9iEAnZz1nHyXFQ6XlrJOm6gmdUTP47gOw1nh8hw+Kmo5XkZ51m5YKau\/hB+q6m4SPgsVukqXDhvZODR+veQvltgvtyIfdbsYmHBMMI8jyHzVLDBDTRCKCJkUbeTWDAC9F3HblRHu7l\/bK\/lojBp9GWWAelDJOe2SQ\/TAXfHYrTF7FtpviYgT5rvRRcpPqWxoUo6RRy\/llv\/gab\/ab9l0RxsiYI42NYxvJrRgBfSLlyxRS0QREXDoREQBS+mndAvt1tJGy0Sb2IHs+vAtVQpa8E23WNurxwjqRuZMdfVx8R4KyGd0ZeI8LjU2fw8ipRFz9OpOlCk6TF0g5xFtja5Z5Ks0tpanQiIh0IiIAiIgJP8QJMW2ljz7Uxdz7AfuqK2zxVFtppYHbUbo27JPPksDU8bKzUFmo5G7UZeXOaeThkcPLzXPTzz6Nr3U1VvJbXO7MUjRndn9cx3jsV2G8Eup53aYOIlN8uSvtkWKLzhmjqIWTQvD43jLXNPAheipPR1OK8XBlstc9W44LG4YO1x4AeKjdKRTUOo6ffk7VbSl7STzB49fP2Vr6kP5reqCyN2tnO9mIPIe\/uB8V+aoaKG72e4sAayOTdvx1NyOHgXK+GStueZXblU7TpBr9lSiIqD0wiIgCIiALNv91FotUlT+8PoRD+cjh9+5aSl9RA1mprRbyCYw4yuA6+P2afFTgrvMo4ibjTeHV5e52aesnQmGvq9qSvqBtPdJxLM9X3W4iKLbbuyynTjTjhiERFwmEREAREQBERAEREAUVq+srauKSnFqnZFSy7XSjnB6sjhjHHtVqvGsp21dFPTO5SxuYe8YU4Swu5RXpupBxTsStJR37UcTKqruPRKR4y1lOeLh3H5nuWza9M221SMmhic+dowJXuyew+7rXJoqpdJZXU0h9ZSyuYW9YB4\/MnwVEpTk03Eq4elCUI1Hm93mERFUbAiIgCIiAmK31\/4g0LBkiGnJOOo+l9wqOeCKphfDPG2SN4w5rhkFTlJmo\/EKtceLYKcAeDfuVTqyfT0MvD542+rf4JBxqtGVRLWvqbRM7ln0oj+vFUEV7ts1EatlXEYw3aILwHD3EHkV3OaHNLXAEEYIPWseTSdmlnMrqY7RcXkB5wSf1y5JijLmCp1KeVPNbPocOl6d1dXVl+nb6U7yyEEcmjr5nsA7iuzV9J0rTs+GguhIlbnqxz8iVrwwx08LIYWBkbBhrWjgAv2aJk8L4ZBlkjS1w9x4LmPxXJKhai6b6\/dnJZavp1mpKguDnPiG0R\/qHA+YK7lL6MmdB060Sn06WYluT1Zwce7Iz\/ANyqFyatJolQnjppsIiKJcEREAUxXf3iW3\/pj8pFTqYufq9fWuU8nQln\/v8AdThq\/QzcTyx9V9ynREUDSEREAREQBERAEREAREQBERAS9mIoNY3SgLgG1HrmfHngdzj4KoUvqQCg1DaroC5oL9zKRyxn7Od4KoVk87MzcP4XKns\/h5hERVmkIiIAiIgJjTfr9R3yo5bMojGOR4u\/pHiqdTGiDvaevqf+LUnj3Z596p1OpzGbhf6k97\/cIiKBpCIiAl5c23X0cnKO4Q7JPVtD65aPFVCmtawOZR0tyi4SUcwOeHAH\/wCgKhhlbPBHMwgtkaHNIPMEZVks0mZqPhqTh9ff9noiIqzSEREAUvqcinv1lqiOG92SQccMj7qoU9rWndLYt8z2qaVsndy+qnT5jNxSbpNrpn7ZlCi8aWdtVSQ1DfZlja8fAjK9lA0J3V0EREOhERAEREAREQBERAEREBPa2hEmn3SFoO5la7j8cfVbVFL0ihp5s53kTXZ+Iyua+wCpsVbETj1LnD4gZHyXPpWcz6cpCTktaWeBIHkp6wMyy4h+a+z\/AGbCIigaQiIgC8K2Xo9DUTZxu4nOz8Ble6x9VVXRdO1RGcyN3Yx\/NwPlldirtIrqSwwctkc2iYyzTzXkH1krnZPX1fRUKz7FTGksdHCQARECQByJ4nzK0F2bvJsjQjhpRXkERFEuCIiA4rzSGus9VTNbtPfEdkdrhxHmAuDSFYaqwRMd7dOTE4fDl5ELcUtbA2zaxq7eAGQVrBLECevicD\/yHcFZHOLRlqeCrGe+X4KlERVmoIiIAua4UorbdUUp\/exuaPcSOHmulEONJqzJ7RdXvrL0V+BLSPLHNzxwTkH5juVCpe809TY7mb7b4t7E8YqoR19rs9w+B+K27XdaW70gqKZ3Dk5h9ph7CrJq\/iRmoTw\/xS1XytztREVZqCIiAIiIAiIgCIiAIiID5kY2WN0bvZeCD8CpzQzz+UTwniIqhwB7gqKWRsMT5XnDWNLnH3BS+h5mSOuYiJ3W+D2NPUDn7DwVkeRmWo0q8PqVaIirNQREQBSuo5Pze90VhjG01rt7OQfZ4HHgCT78hVSzLdZIaC41dfvXzTVRzl49gZzgeXgFOLSzKK8JVEoLR6+hpAADAGAF+oigXhERAEREAUhrSphpK+3VMcgFXA7a2NnOWZ4E94PiVXrKuunqG7zRzVO8a+M82EDaHYcg8FODSldmfiYSqU3GGppxyNljbIw5a8BwPaCvpfLGNjY1jBhrQAB2BfSgaEEREAREQBTN005JS1Buljdualh2nQgDZf2gdnw5FUyKUZOOhXUpRqK0jGseo6a8AwuaYKtg9OF3mR2\/NbKxr1puluvr2E09W0HZlj4ZP83b81n0mo6u1VDKDUEJY4gCOoaMhw7XcfMd4UsKlnEoVWVJ4avv+dipRfEUsc0bZIpGyMcMtc05B719qs1hERAFy1lxo7fu+l1DId4SGl3I4X1VV9JQtDqqpihB5bbgCfgOtTF2v1Je2Ot9vtr7jIQdmQt2Qwke0Ov5KcYtvyM9atGmsmr7FcCCMg5BRcNpop6O1wU885MjG+ls4xnOeHBFFoui20m0d6Ii4SCyLRYhaK+tmhlaYKohzYgzGxgnA+HEoi6m0rEJQjJqT1RroiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvGrpKeup3QVUTZY3c2uREONJqzJ9+jRTyb21XOoo3c9nOQT3Y+q\/Oi6wpeDK6mqmchtNG15gfNEU+0fXMz91guW69GOlazxs\/l9H\/z7Q\/r+i\/Py\/Vlwz0m4xUTD\/hiHEd47utETHskO731k39fwe1Joy3xSb6sllrZOOd47DfDn5regp4aaMRwRMiYBgNY3ARFxyb1LYUoU+VWPRERRLD\/2Q==",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FELIPE CARRASCO VILLEGAS",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "MAQUINA NO ACEPTA PAPEL FOTOGRAFICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56512257273",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:16",
    "ubicacionGPS": "LatLng(lat: -29.9216328, lng: -71.2556877)",
    "horaLlegada": "11:11",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "16",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 11:15:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[10/06/2026 11:15:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('73836100', 'EP3153', 1, 20988335, 0, NOW(), 
				'08:00', '11:11', '11:16', 16, 'llamado realizado el 27-05 
donde se le indica a la usuaria que la fotocopiadora no admite ese tipo de papel
sin contador.', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781104559.png', '', null, 'COMPLETADO','LatLng(lat: -29.9216328, lng: -71.2556877)' )
				
[10/06/2026 11:15:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200670

10/06/2026 11:15:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200670'                    
				WHERE idllamado = 12770			
				TO ENVIO: null, fcarrasco@cnsa.maristas.cl


10/06/2026 11:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:16:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12770			
				
10/06/2026 11:16:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 11:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:16:01 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:01] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12770
            GROUP BY l.idllamado;
            

10/06/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:02 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:02] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12770
                

10/06/2026 11:16:08 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:08] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:16:08 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:08] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:16:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:16:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:10 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:10] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

10/06/2026 11:16:10 - INPUT: {"rutTecnico":"20988335"}
10/06/2026 11:16:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

[10/06/2026 11:16:10] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:12 - INPUT: {"rutTecnico":"20988335"}
10/06/2026 11:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

[10/06/2026 11:16:12] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:12 - INPUT: {"rutTecnico":"20988335"}
10/06/2026 11:16:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

[10/06/2026 11:16:12] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

10/06/2026 11:16:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

10/06/2026 11:16:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

10/06/2026 11:16:13 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12960
            GROUP BY l.idllamado;
            

10/06/2026 11:16:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

10/06/2026 11:16:13 - INPUT: {"rutTecnico":"20988335"}
[10/06/2026 11:16:13] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:16:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:16:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

10/06/2026 11:16:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

10/06/2026 11:16:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12960
                

10/06/2026 11:32:06 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:07 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 11:32:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 11:32:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)
[10/06/2026 11:32:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 11:32:07 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:10 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 11:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 11:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 11:32:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:10 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 11:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 11:32:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 11:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 11:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 11:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 11:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:33:17 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 12:33:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 12:33:17 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GLOBAL ENERGY SERVICES SIEMSA, S.A., CHILE LIMITADA
            [ciudad] => SANTIAGO
            [RutCliente] => 76063288
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 08/06/2026
        )

)
[10/06/2026 12:33:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 12:33:20 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:33:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:33:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12972
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA RESIDUAL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 12:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:33:23 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:33:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:33:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12972
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA RESIDUAL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 12:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:33:24 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:33:24 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:33:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 12:33:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:33:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12972
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA RESIDUAL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 12:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:33:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12972
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA RESIDUAL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 12:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:33:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:27 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:33:27] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:33:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12972
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SOLICITA RESIDUAL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 12:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:33:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:34:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:34:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:34:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:34:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                
=========================================
FECHA: 10/06/2026 12:35:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yPMuXOEGeoEj6TIXLKGaNdYqcK8LcOw3GQN024hegEYGi-W8Ih4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "KY2490",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "225162",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entrega 1 toner\n•Se limpia botella residual",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12972",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADXAK4DASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMBBQUFBQUFCQAAAAABAAIDBAURBhIhMUFRE2FxgZEUIqGx0RUjMsHwJDNCUuEHFlWywkNFdIKSotLi8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBgYCAwAAAAAAAAABAgMREiExBBMyQVEicaGxwdEUM2GBkeEj8EJSU\/\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBF8c4NaXOIAAySeSAgjIOQUB9REQBEWZf7qbTbXTRgPneQyJmd5J7ueF1K7siM5KEXJ6I8d4v80dYy2WmIVFa4+8cjZjHPPf47l5xadUyDbkvUTH7yGNbuHwC9umbN9lW\/tJhtVdR78riPebn+Hy+a2lNyUcomaNKVRYqjavyTtYnLbqGqhuDbVeqcw1DjiOYfhkyd3LHmPgqNZd\/tDbxbnRNw2dh2oXndsu8eh\/XBdWmLq66WpvbOzUQnYlzxPQ+Y+OUaTWJEqcpQnu5u\/R+hsoiKs0hERAEREAREQBERAEReevrI7fQzVcu9sTC7HXoPMocbSV2T+pKqouVwj09QP2HvG1PJtYw3H4T5b\/AEVFS00dHSx00IIjiaGtycnCw9I0chgmu1Uc1Fc4uz0bnxVErJu3ZXIz0E5Xqy1fguQREVZpCk6UO1LqeWeUZobc7ETSNznf1wT5BbGo677PsdRMMF5AY0EcSTj5ZTTdF7BYaWIjDnM7R+\/m7f8A0Vkco3MtT+SqqfJZv0NRERVmoKXpIvs3Xc8MYLYqyHb2Rw2uOfVrvVVCmbuey1taZQN7mFnzH5lWQ5ozbRkoy6NexTIiKs0hERAEREAREQBERAFL6sc+vrrfZIi4Gd\/aSY5N4f8AkfJVCl7G0V+rbrXvLj7OexZk7uJG7yb8VZDK8uhm2ntJU\/8AZ+GrKZjGxxtYwYa0AAdAuSIqzSEREBL63AkgoIXE7ElQMgc+XyJVOAAMAYAUzrT\/AHZ\/xI\/JU6slwozU\/nVPt5BERVmkKZuQMuvLZGQSxkJfw4HD\/oFTKXtg9v1vcKsgbFIzsm45O4fk5ThzZm2jPBHq14ZlQiIoGkIiIAiIgCIiAIiID45wa0uO4AZKmtDtL7dV1R3GapJx03D6lUkjGyxujd+F4LT4Fea2W2C00TaSm2yxpJy85JJUk7RaKZQbqxlyVz1oiKJcEREBlahtBvFtdFG7YnjO3Ec439D4\/ReS16kG6juzDSVcTcOMgwHY554d\/keSoF47haqK6RdnVwB\/R2cEeBCmpK1mZ505YsdN5+DPW1wc0OaQQRkEc19UudLV1DIXWa6yQsP+ylJLRzxu+nrlPtrUFqAbc7X7VGAMzQcd\/XGR3cAu4L8LOfEOPzIteKKC4VbaG3z1TuETC7hnJ5LG0ZSOhs7qqXBlrJDITjfjgPzPmsy736HUfslrt5LRUSjte1aRuG8A44+XQKwghZTU8cEYwyJgY3wAwEacY2fMjCSrVsUc1FeL\/R2IiKs1hERAEREAREQBERAEREAREQBERAEREAXTV1UVFSyVM7tmOJu04ruUnepJNQXyKyU5Ps0B26mRudxGd35eJ7lKMbsprVN3HLV5LvPPbNOs1DDU3O49pDJVSF0WwcbI8CN4XcypuulKiNlxnNbbZDsNlwS6Px5+WT3KrhijghZDEwMjYA1rRwAXCrpIK6mfTVMYkieMEFT3l3noULZcMbwdpdevedkcjJY2yRuDmPAc1wO4g8CuSlbJJLYLu+xVUgdTyDtKaQ7uJ4efzHeqpQlGzNFKpvI3eT5hERRLQiIgCIiAIiIAuEsrIYnyyODWMaXOceQHErmpnVNZNVVNPp+jI7SrIMrv5W5\/oSe4d6lGOJ2KqtTdwxf256tOXKtuzqyqlIFJ2uzTjZ37uO\/du4cfyW4uiio4aCjipYG7McYwB8z6rvSTTeR2lGUYJSd2ERFEsCIuisq4aCkkqqh+zFGMuKHG0ldmZqa8\/ZVv7OE7VXUe5E0H3m5\/i8vmuzTtmFooMSYdVTHanfnOTvwPLPzWZp+inu9f\/eG4\/iOW00XJo6\/PHmVUqyXZWFGaknUlvZfbu6\/cIiKs1E\/q+ke+3R3CBv7RQyCRrhyGd\/5HyWrbK+O5W6Grj4SNyR\/KeY9V6nNDmlrgCCMEHmpuwUtdZrhWW0Ur5KTPaxSk4HTGcYzj5KxZxt0MzTp1sS0lr38ilRfMg5weHFfVWaQiIgCIiAIinrtcrjUXRtos7mMlDdqWc4IjHTnjlyXYq7K6lRU1dmzXVkVBRS1Uzg1kTcnPwHqsLStHJUumvtZkz1bj2e0B7rBu6d2PABYdba62rvUdobdpax7ht1Dnfhj39M78dPDy12UGp7PC32WqiroYwB2Lhh2yOQz3d6uwpRsnmzDvZTqYpQdo\/fMqkWFbNVUtXJ7NWMdRVTdzmTe6M7t2Tw57j0W6qXFrU3wqRqK8WERcJZY4YnSyvDGMGXOccABcJnJzg1pc4gADJJ5KQfJLrG7up2Ocy00rsucN3aHl6\/Ad65VNbU6tqnUFvLobcw\/fVGMF\/cPp6qno6OCgpWU1NGGRsGABz7z1Kt4O8xt\/EOy4F4\/o7WMbHG2NjQ1rQA0DkFyRFUbAiIgCIiAmbUTNre6yOOezjDG\/D6KmUxZN2sbwDuJAOPMKnU6mpm2bgfe\/MIiKBpCIiAKNr68WDVtbVPYC2opsxjq7Axnf1BVkvz7V1fDXXkMbBtxUJ2JpGn8WSMtzywcjxyraSu7GLbZYKaknmnkUGkLfJDQPuNSS6prjtlzuOzy9ePmFQrhEY3RMdFjsy0FuzwxywuahJ3dzTSgqcFFGddrJRXmHYqY\/vGghkrdzmfXwKw4626aWmEFx2623EgNqRkuZ3cfgfJVq8lzno6e3zPr9n2fZw8OGdrux1XYy5PNFdWkvmRdn19zn7dS+xCt7dgpy3b7QnAwpkiq1lV4BfT2iF3HgZiP15KcbBI2KOpnhq22R9QSGB\/Afrn3FfpNCaV1FCaLY9n2R2exwwptbvNGanUe1PDLJLl1\/RypaSCip2U9NEI4mDDWhdyIqT0EklZBERDoREQBERATFs9zX10YeJhDv8n1VOpj9z\/aJ17em9N3\/AKqnU58u4zbNpJfVhERQNIREQGXqC7C0WuSdpHbO92IHByfDPJZcGnex0hVQTAmqqI+2ed+1tD3gPXd5lde0dR6s2B71DbTk7zh7+XdxB8QFVkAjBGQVa3gSRjjFV5Sk9NF6syNKVRq9O0znO2nxgxuyeh3fDC2FL6T\/AGG43OzknEMu3ED\/AC8PlsqhrKyCgpX1NQ\/YjYMnqe4KM12sizZ5\/wAKcuWv2PlbW09vpX1NTIGRsG89e4d6mKSkqtW1ra+va6K2xH7mDP7z9cz5BcqWiqdV1Yr7iDHb43fcQDd2g6n4b\/RVbWtYwMY0Na0YAAwAF3g01K0ntDu+Dz\/RwkpoZaY0z4mGEt2THjdjphSoE+jbgN75bRUO8TEf16jwVeuito4a+kkpahm1HIMHqO8d65GVsnoW1aWLtRyktP70O1j2yRtkY4Oa4AtI5hclM6XqJ6KrqbBVu2n0vvQvP8TM\/wBQfPuVMuSVnYlSqbyOL+3CIiiWhERAEREBMXr9l1lZ6rlKDF57x\/qCp1M62icyko69gy6lnB8j\/UBUkcjZY2yMOWvAcD1BVks4pmallVnHuf5X6OSIirNIWFqi7PoaNtHS5NZWHYiDeI3gE\/HA\/otqaWOCF80rwyNgLnOPABTGnKc3i61OoKluQXFlOx2Dsgc\/EDd5kqcEuJ8jNXk3anHV+C5s2LFamWi1x04aO1I2pXY3ucfpwWkiKLd3dl8IqEVFaIlbwDaNW0d0DQIaodjMc8+Hyx6L5dWP1DqVlp2z7HSDtJ9k8XY+e8D1WtqS2m6WWaFjdqVn3kQHNw5eYyPNY+g2dpBW1jyHSySBpdz3DPxz5q5Ps4uaPPnB77df4yd\/deRWNaGtDWgAAYAHJfURUHpBERAS98\/YtXWisYPenPYu8Mgf61UKY1L97qKxRNztMm2zgctpv0VOrJcKM1H5lRLr6IIiKs0hERAEREBmajpfbLBWRbsiMvGerfe\/JcdM1ftmnqR5OXMZ2bv+Xd8gFqOaHNLTvBGCpfSL30dbcrPJxglL2bsZHAnw\/CfNWLODRln2a8X1VvX3KlEU9qDUIp8223EzXCX3AGb+zz+fd5qEYuTsi6pUjTjikea81Ut+ubbFQueIWO\/a5W8Bg8PLHr4KkpaaKjpY6aEYjiaGtB6LwWCzMs9FsuO3Uy4dPJnO07p4DJWqpSa0WhXRhLOc+J+C6BERQNAX5tpavltNfHLJltJUv7GQngHDgT0xn5r9JUTSW2KouN5sEzsBzu2gdjOweR9HAd4yrqbVmmYNrjJzhKOqv+f3YtkU9pa6yTRPtVb7tZR+7hx3vaOfl9FQqqSwuxrp1FUipIIiydSXYWi0vlaR20h2Ih3nifIZ+CJXdkdnNQi5PRGXTu+2NcvqGAOp7fHsB2QQXb\/zJ\/6VVLJ03bDbLSxsoPtEx7WYnjtHl5D45WspTd3ZFWzwcYXlq8wiIoGgIiIAiIgClr40WbUdHewSIZj2NQPLGfT\/ACqpXjutvjululpJMDbHuk\/wuG8H1UoOzzKa8HOGWqzXeYerq+70TI30bzHSPGHyxgEg\/lz3rnpj7Dpqcvp62OaqeNqWSU7L\/DB4D9dFz0tc3zQvtNaNmro\/c2XcXtG74cPRemr0pZ6t5eabsXk52oTs\/DgrG0lhZljGU5b6Gf0fLuNlFLjR9TB7lDfqunj\/AJN5+Tgvv93r9FkRaileOsgOfiSoYY9S\/e1VrTf5RTopj7D1J\/j\/AMCn2HqT\/H\/gV3Cuo30\/+b8Pcp1LX54s+paC77xDKDDPj5nyP\/auX2HqT\/H\/AIFdNVpm+1lO6CovLJo3fwvacZHDwUopJ6lNadScbKDvqtPc9Go7fLHLHf7afv4ADIG7xIz\/AOZ8ls2q5Q3agjq4dwduc08Wu5hSDb3d9LuZbq+mjnha3Ee\/G03PJ3TuI6Lz0N+o7XeRVUO22iqf39M4b4j1HIjmO7I3KTptryKY7TCFS+l9V0fX3\/J+gve2ON0j3BrWglxPIKVtzH6mvr7nO39gpTs07Hs3PPX1wfQLjNW1urpRSUUclLbgczTOG946D6eqqKSkhoaWOmp2bEcYwB8T8VXwL6mm\/wARJW4V4v2R3IiKs2BERAEREAREQBERAT+obPPJNHeLZ7tdT79lo\/ejp44z4jd0XtsV7gvVGJWYZMzdLFne0\/QrTUzd9P1NPWm72N4iqRkyQ8pOuO89OfHjxsTUlZmWcZUpbyCunqvVfXzKZFjWTUUN3c6nkidT1kYy+Jw9SPotlQaadmXwnGccUXkERFwmEREB1zQQ1DCyeJkrDxa9ocPisi46UtddTuZFAylkO9skTAMHw5hbaLqk1oVzpwmrSVyLtlyqtK1n2VdcupXHMUo3hozxHd3clZNc17A9jg5rhkEHIIWZqCzMvVvMO5szDtRPPI9PAqRs18q9O1rqGvD3QM918ZdkxHPFv0HHircO8V1qYlUeyywT4Xo+n0P0NF1wzRVELJoXh8bxlrmncQuxUno6hERAEREAREQBERAEREB1iGJszphEwSuGHPDRtEdCV2IiAIiIAiIgCIiALFv2m6e9sEm12NQ0e7IBuPcQiLqbTuiE6cakcMldHTpWz19niniqpG7DnAtY3eM8zn9clQIiSbk7s5TpqnFRjogiIuFgREQBERAf\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SOLICITA RESIDUAL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+552537601",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:36",
    "ubicacionGPS": "LatLng(lat: -23.6540158, lng: -70.3969769)",
    "horaLlegada": "12:14",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 12:35:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/06/2026 12:35:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'KY2490', 1, 24456550, 225162, NOW(), 
				'08:00', '12:14', '12:36', 10, '•Se entrega 1 toner
•Se limpia botella residual', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781109334.png', '', null, 'COMPLETADO','LatLng(lat: -23.6540158, lng: -70.3969769)' )
				
[10/06/2026 12:35:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200671

10/06/2026 12:35:34 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200671'                    
				WHERE idllamado = 12972			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


10/06/2026 12:35:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12972			
				
10/06/2026 12:35:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:37 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

[10/06/2026 12:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:37 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:35:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12972
            GROUP BY l.idllamado;
            

10/06/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12972
                

10/06/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:39 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:39 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/06/2026 12:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:41 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:41 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:35:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:50 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

[10/06/2026 12:35:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:35:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:50 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

[10/06/2026 12:35:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:35:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:36:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:36:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:36:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12968
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 09:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                
=========================================
FECHA: 10/06/2026 12:37:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Z64MFVz_JdEMIT+9jae2FyNk2S31w8jNG0Hp+7skUqhTvdMVA56
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega 1 toner toshiba, recibe Kenia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12968",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACVANQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABDEAABAwMBBAgDBQMKBwAAAAABAAIDBAURIQYSMVETIkFhcYGRsRSh0RUjMsHwJHPSBzM2QlJUgpKy4TRVcqLC0\/H\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQMCAwUIAgMAAAAAAAAAAQIDESESMUFR0QQiYYGhExQyUnGRweEjQjOx8P\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiidorjW2uiZVUsLJI2SDp88Q3PZ7Z7\/AE6ld2ITmoRcnwJZFppKqKtpY6mB29HK3eaVuXCSaaugiIh0Ii1VNRHS00tRKcRxML3HuAyhxu2WeVdXT0NO6oqpWxRN4ud+tVXTtNcrm9zLJazIxpx08x6vpp7+S57fb5tqq110uReKFriKeDOA4A\/rPM+CtzGMjYGRtDGtGA1owArHpj4syxdSvlPTH1fQrItO1U\/XmvUcTv7LG6D0AR9BtZRMMkFziq8ZJje0ZPhkfmFaET2j5Evdo\/M7\/VkVYb0LzTSF8JhnhduyxnOh1+ilVV9mHiqvl4rId0075A1rh\/WOTqPfzVoXJpKWCXZ5udNNhERQLwiIgCIiAIiIAiIgCIiAIiIAsJoo54XwysD43gtc08CFmiDcq1ibPYr5LZJA+SnnBlp39jeef1xHerSiKUpancqpU\/Zx0p44BERRLQq\/ts57dnJA3OHSMDvDOfcBWBclzoI7lbpqSThI3AP9k9h9VKLtJMqrRc6corijK3RxQ22mjhx0bYm7uO0Y4rpVVsl6ktdT9h3cdE+LqwSu4Ob2An2PkrUkk0zlGpGcMcOHIKv7UXd1PB9mUX3ldVdQMbxa08T48vVZ3zaJtC74Ghb8RcJDutjaM7hPP6LKwWJ9uMlZWymavn1kfnIb3D6qUVp7zK6k3UbpU\/N8v2ddktTLPbI6RpDnAl0jwMbzj2+w8lIIig3d3ZojFRiorZBERcJBERAEREAREQBERAEREAREQBERAEREAREQBEUfdb1RWiIvqZRvkZbE3VzvAfmupN4RGUoxV5OyF4tNFdaRzKtrWlo6s3Ax+f5KmC8XijdU0FurX3GFrcNmbGXGMcwfAd45KVbTXXayRslYDR2sO3mxDRz+Xj48OSs1FQUtupxBSQtiYOOBqTzJ7SrU1BWeTDKEq8tcO6ufF+XUr+x4s4h36eYSV7xmUy6P5kAcvBWhQ9z2Yt1ze+VzDDO45MsWhJ7CVFZ2j2caBgXSiaeOu+B7jh3gLjSm7pk4SlQjplHHNflFtRQtv2qtlfIITI6nnOnRzDd15Z4KaVbTW5qhUjNXi7hERcJhERAEREARebw3t3IzjOF6gC5X3O3xy9C+upmyZA3HStB14aZWu9SvgstZLE7deyFxaeRwoKw7NWmvsdNU1NKXzSNO8\/pHjtI547FNRVrsz1Kk1NQgle18lpa5r2hzHBzTwIOQVkqpUbLVVrJq7DWTNew73w73aP7vlwKkLPtJDcJDSVcZpK5hw6J+dT3fT3RxxdZEa\/e01FZ+j8ybREUDQEREAREQBYSzRwROlme2ONgy5zjgAKGue1dBROMFOTWVR0bHDqM95+mSuGKyXS\/zNqb7MYIAerRxnHry+Z8FNQ4ywZpV1fTTV36L6szqtp6q4SupNnqV07wcOqHNwxvhn3PoV0WvZaCB4q7k811aTkveSWtPcDx8\/kpmlpKeigbBTRNijbwa0LcjnbERGhd6qru\/RBERQNIREQEdc7FbrsM1VOOk7JWdV48+3zUE6G77J\/exzGutjT1o3Z3o293Ly07grcuK71UNFaqmact3RG4Brv6xI0Hmpxk9jNVowzNYa49eZ0U1RHV0sVTCSY5WhzcjGhRRWyUUkWz0BkGN8l7RpoCdOA8\/NFGSs2i2lJzgpPiZU93nk2oqbVKyMRxxB8bmg7x4cde\/l2KYVYrP2Pb6jm\/CyqhLCeGTqPyarOpSSxYhRk3qT4NhEWuaVlPBJNIcMjaXOPcBlQL9itzl1Z\/KDAwaso4Mux2Eg8f8wVoVY2PifVOrbzMzElXKQ3Xg3OTjz08lZ1Oe9uRm7NmLn8zv0I+\/DNgrv3D\/AGWjZX+jVF\/0n\/UV2XWPprTWR4zvQPH\/AGlRuxkgfs1A0EHo3Pae7rE\/mu\/08w8doX0f+0Tqhr\/YIbtTOkiYI62MZilGhJHYTy9lMooJtO6LpwjOOmWxDbNXh10oTHUdWspjuTNIwSefnj1BUyqpew2x7SUl2YN2Kp+7qMcBw19P9KtQIIyDkFSmluuJVQk8wlvH\/kz1FrnnipoXzTyNjjYMuc44AVZkv90vc7qewQbkIOHVco0H0+ZXIxbJ1K0aeHu+HEmbrfaGzx5qZcyEdWJmrj9PNQhiv+02rz9mUDuDdd947+0\/IeKkbTszT0M3xlXIaytcd4yyahp7h+fsptS1KPwlXs6lX\/Jhcl+X0I+2WSgtEYbSwjfxgyu1e7z+ikERQbbyzRGMYq0VZBERcJBERAEREAVX+wrne6vpr5M2OnY87lLEcjHPI9+PgrQikpOOxVUpRqW1bcup41oa0NaAABgAdiL1FEtKztowww0NyjB36Wcajkdfdo9VZGPEkbXt4OAIUZtNSmr2eq42\/iazfH+E5PyBWWztU2ssNHIDktjDHaY1bofZWPMEZo92vJc0n9sdCTVf2xrDDaBSREdNWPEbWntHE8fIeasCqlO1l92zkqcl9NbgGs5F4P1yfILkFm74DtLenQt5Y6+hYrdRtoLdT0jcfdMDSR2ntPrldKIoPJoSSVkeEAjBGQVWNiy6mFxtrz1qao7e\/T\/x+atCqkmLPt2x\/wCGG4swerpvHTHqAf8AErIZTRmr92cJ8nb7lrREVZqInaimFTs9VDHWib0rT2gt19sqOi2qpaPZ+iccz1b4g1sLTkkjq5PLUeKXm\/SVk77NZoxUTyAtklGrWA6H\/wC8AufYSipTSz1L4AamOUs33a7owOHLtV6jaHePOlUcq9qT3Vr\/AE\/Jsgslyv0wqr9K6KDOWUjDjHjy9\/BWeCnhpYWwwRtjjaMBrRgBbEVUpNmunRjTysvnxCIiiXBERAEREAREQBERAEREAREQHhAIwRkFVjZAmkq7pajndp5t5mTnTJH5D1VoVVmJte3schyIrhFuk4J63DHq0eqshlNGWv3ZQnydvuTF\/uTbVZ5qjP3hG5EM4y48PTj5LRstbRbbLE1zcTTfeScOJ4D0woyUDabag07gH2+3jLsOyJHHw7\/kDzVsSXdjYU\/5KjqcFhfl\/gIiKs1BQW1tC+rtHTwZ6ekcJmEccDj9fJTq8IBGCMgrsXZ3IVIKpBxfE4rNcBdLVBVjAc9uHgdjhoVD3y51dfcDYbTpKR+0TZ0Y3tGfMZ8cLhFS7Y261cDml1HUsMlPyDgNB66ehXRsvNQ0FumulbWRsnrHueekeN\/dBOmO0k5Og1yFdpt3l5GH2zqJUpOz\/t5dSYoaCh2btT3D8MbC+WUjrPx+tAo\/YeJ7bPLO5paJ53OaO7Qe4PouO4V8+1dWy221r20AcDPORjeGezPhpzKtlPBHTU8cETQ1kbQ1oAwoyulndllJRnUTh8McLxZsREVRtCIiAIiIAiIgCIiAIiIAiIgCIiAKs7cQO+zIK2PSSlmBDuQP+4Csyj77TCrsdZCdcxFw8RqPmFKDtJMp7RDXSlHwK7b6baK1QONtpaWqiqHdKJHu6zgeGclvZ7rr+O2z\/wCU0f8AnH\/sXfspOZ9nKUu\/EwFh8jp8sKYU5Ty7oopULwTjJpeXQq4qNsyM\/B0g7sj+Je9Ptn\/dKP1H8Ss6LmvwRZ7u\/nl9\/wBFY6fbP+6UfqP4l4LntbTkdPZ4ZW54xu1Po4+ytCJr8EPd3wm\/ToUi732mulH8FdrdU0E2cxyFud13M5AONdcLj2Vp7HWyfCV0OanPUc55DZO7xX0GSNkrDHIxr2O4tcMgqBueyFvq2Pko4xSVPFjoyQ3PZp2eSnGpG1tjNU7NU1qpiVua3\/BOQwxU8TYoY2xsaMBrRgBbF8+pdo75Zqw0NXEakxnBjkyXYx2OHcOOqt1ov9BeGfcSbko4wvIDvLmO9QlTksmij2qnU7qw+RJoiKs1BERAEREAREQBERAEREAREQBERAForf8Agaj9072W9YTRiaF8ROA9pbnllEceUQOxH9HWfvXKwqMsFrfZ7W2kkkbI4Pc4lowNSpNSm7ybRVQi40oxe9giIolwREQBERARN9sUN5pwQeiqotYphxHce72VahpILrVG33UOoLvGcsqGj+e5E8zp2Yyr2o68WOjvUG5UNLZGjqSt\/E3\/AGVkJ2wzHX7OpvVFZ4rn+\/Ehqe\/V9kqfg79E50RcdysaCW49NfdWaGaKohZNC8PjeMtc06EKourK2ytFv2gpRXUB6rJw3exy\/XFaKepfYJfi7TP8faX9aSIP60XiOI8cdx7FNwvt+imn2h08SyvHddV4l5Rc9FW09wpWVNNIHxvGh5dx710Kg9FNNXQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQGEsUc0bo5Y2yMcMOa4ZB8lAVexVsnk6SAyUriCCI3ZByMcCiKSk1sVzpQqfGrnZYbELHDLE2qdM2R29gtDQNFLIi4227s7CEYR0x2CIi4TCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:38",
    "ubicacionGPS": "LatLng(lat: -23.6540347, lng: -70.3969293)",
    "horaLlegada": "12:14",
    "horaDespacho": "12:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 12:37:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/06/2026 12:37:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 24456550, 0, NOW(), 
				'12:36', '12:14', '12:38', 10, '•Entrega 1 toner toshiba, recibe Kenia', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781109449.png', '', null, 'COMPLETADO','LatLng(lat: -23.6540347, lng: -70.3969293)' )
				
[10/06/2026 12:37:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200672

10/06/2026 12:37:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200672'                    
				WHERE idllamado = 12968			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


10/06/2026 12:37:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12968			
				
10/06/2026 12:37:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:37:31 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:37:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:37:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12968
            GROUP BY l.idllamado;
            

10/06/2026 12:37:31 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

[10/06/2026 12:37:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:37:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 12:37:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:37:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12968
                

10/06/2026 12:39:27 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 12:39:27] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 12:39:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 12:39:27] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 12:39:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 12:39:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:39:28 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/06/2026 12:40:21 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 12:40:21] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 12:40:21 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 12:40:21] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 12:40:21 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 12:40:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 12:40:21 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/06/2026 13:00:57 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 13:00:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 13:00:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

)
[10/06/2026 13:00:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:00:58 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 13:00:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 13:00:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 13:11:11] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:11:11 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 13:11:11] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 13:11:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 13:11:11 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 13:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 13:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/06/2026 13:11:13 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 13:11:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 13:11:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:11:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 13:11:13 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 13:11:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 13:11:13 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
10/06/2026 13:11:23 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 13:11:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 13:11:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:11:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 13:11:25] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:11:25 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 13:11:25] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 13:11:25 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 13:11:27 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 13:11:27] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 13:11:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 13:11:27] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 13:44:00 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 13:44:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 13:44:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null[10/06/2026 14:37:58] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 14:37:58 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 14:37:58] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 14:37:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 14:37:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:37:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:37:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:38:02 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:38:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:38:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:38:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:38:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:38:02 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:38:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:38:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:38:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:39:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:39:12 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 14:39:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 14:39:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:39:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:39:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:39:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:39:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:39:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                
[10/06/2026 14:39:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 14:39:13 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 14:39:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 14:39:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 14:39:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:39:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:39:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:39:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:39:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:39:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:39:23 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 14:39:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 14:39:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 14:39:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 14:39:24 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:39:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:39:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:28 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 14:40:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 14:40:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 14:40:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 14:40:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:32 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 14:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[10/06/2026 14:40:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:47 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 14:40:47] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 14:40:47 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 14:40:47] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 14:40:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:50 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 14:40:50 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 14:40:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 14:40:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 14:40:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:40:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 14:40:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:40:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 14:40:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 14:44:26 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 14:44:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 14:44:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:01 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 15:13:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 15:13:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ANDREA IVONNE GODOY MUNOZ
            [ciudad] => TOCOPILLA
            [RutCliente] => 15012006
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 15:13:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:13:09 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:19 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:19 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:13:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:13:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12979
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE PRINTAUDI
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2454
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:13:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                
=========================================
FECHA: 10/06/2026 15:14:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a3UZV6jrmk9tUEnrimo_-ZB2ytKOqy97dWWgEgMh+nHPfuk7G-M
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74454100",
    "serieinterna": "EP2454",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "20192",
    "contadorColor": "13826",
    "contadorScanner": "0",
    "detalle": "Instalacion Print Audi\nFirmado por Luis Marroquin",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12979",
    "observacion": "Instalacion Print Audi\nFirmado por Luis Marroquin",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADSAJ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABJEAABAwMCAgYGBAgMBwAAAAABAAIDBAURBiESMRNBUYGRoRQiYXGxwRUyQtEHIyRSYnKi0hYXMzU2c4KSssLh8CU0U1SDk\/H\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQMBBAkDBAMAAAAAAAAAAQIDESExBBJBURMiMmFxgZGhsSPB0QUzQuFScvD\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARFUamuv0TZ5JGOxPL+Li7QT19w38F1K7siE5qEXJ6Ip77qqqguEsFvYHQ0hHTvxzPENs9W+3j71q4JRNTxyjk9gd4hZWazGh0LUskaTUytE0xPMO4gfIc+9Xtgl6ew0L85\/EtaT7hj5KyaW7gy0JVOkam9Ve3LOhYoiKo2hERAEVNdtSUtulFNE11VVu2bDHvv1A9\/Uudpv9RU3D6PuFH6LUujD2D84Yydur\/QqW47XKenp7+5fJeoiKJcEREAREQBERAEREAWS\/pJrD86itng5+fmR3hquNR3E2uyzzsdwyuHRxn9I9fcMnuXmmrb9G2aJj2gTSjpJMADc747hsrI9WO8Zav1Kip8Fl\/ZHuppRDpytcTjMfD4kD5r708x0en6IOOSYg7nnnv81X64mEWnzHxYMsrW47cb\/JXlJD6PRwQYA6ONrcDqwMLj7B1Z2h9yXuzsiIoGkKgvt5nFQLRam8dfJjid1RAjn4Kfe7tFZrc+pfh0nKOMnHG7\/e6r9LWmSmp3XKtJfW1Y4i5x3DDggH29fh2KcUkt5marJykqUH4vkvyyTZNPU1oj4ziardkvncN9+odgVfK4y\/hEhHGR0NNjAPPY7H+9ladZe0D0vW11q85bC0Rbcgdh\/lK7Ft3b5EKsIwUIRXFe2TUIiKs2BERAEREAREQBEXGrqWUdJLUyEBkTC45PYEONpK7M1deG96upba1xdBRjpJh1E7HH+Ed5WrWb0dBLJTVN1qcGatlLs4+yPlnPgFpFOetuRn2ZXi6j1lny4GY1NmrvtnoByMvSP92R8gVp1l4cV34QZXjJbRU+AeoHGMftHzWoSeEkKGZTnzfxgLxzg1pc4gADJJ6l6s5qu5SCOOzUfrVVd6hwfqNJxv79x7srkVvOxbVqKnByZFpWu1PqN9ZIeK3UDuGEbYc7byOM+C1qiWu3xWu3xUkP1WDcnm4nmVLSTu8aEKNNwjeWryz5e9sbHPecNaCSewLNaIY+Skra+QetU1BOes43+LirPUlR6Lp6sk4sEx8A\/tbfNeaapfRNPUceMFzOkPbl2\/zUliDIy620RXJN+uC1REVZpCIiAIiIAiIgCzWsp3zQUtogGZayUZH6IP348FpVlba0XjWVZXv9eKhHRRdmdx+8e9ThrfkZtpbcVTX8seXH2NJS00dHSxU0QwyJgaO5dSQBknAC9Vffqn0OxVkwOCIi1p7Cdh5lRWWXSahFvgin0dmrnud0duaifhaewc8ftDwWoVNpSm9G05Sgg8UgMhz7TkeWFcqU3eTKtmju0o38fXJ8ve2NjnvOGtBJPYFmNJxvuNbW3yoLnOkeY4eL7LeZx5DuKmawrhR2CVgcA+oPRNGeo8\/LPip9lofo6z01KRhzGAv\/AFjufMrqxC\/MjLr11HhFX83oTkRFWajNa1e6Wlorew4fV1AHbsNuXvcFo2MbGxrGDDWgADsCzVeRW67oKfHq0sZkdv14JH+VadTliKRmo9apOXfb0CIigaQiIgCIiAIiICPXVIoqCeqdjEMbn79eByVNoumdFZDUSZ46qV0hJ5kch8Ce9NaVLorIKePPHVStjAHMjmfgB3q5oaYUVBBStxiGNrNuvA5qzSHiZu1tH+q92SFmtbTONupqGPHHVThoyeof6kLSrL3A\/SGuqGmG7KOPpHDnh3P9xcp9q\/IbV+3urjZeppIYmwQRwtwGxtDRgY2AxyXREUDToZjUmanUVmoubek6Rze0ZHyBWnWXkxVfhEiGc+i0+47j++tQrJ6JGahmU5d\/wgiLnNKIIJJXco2lx7hlVmnQzdi\/LNXXitxkRkQg9+P8i1CzeiIj9EzVT\/r1M7nHu2+OVpFOp2rGbZV9JS53fqERFA0hERAEREAREQGY1CBV6os1FjIY4yubzyM53H9g+a06y7D6V+ER+2RSU+ASeWw5f31qFZPRIzUMynLv+MBZfTP5dfbtdCDgv6KMnfbP3BqvLvVehWiqqd8siPDg435DzVdo6l9G07CTjMznSHHt2HkAixFsVOtWjHld\/ZF6iIqzSZa3yM\/jCuPEcOdCGtGOeAz7lqVj9PSR1mtLnUjJw1wZkdXEBny81sFZU1Rk2V3g33v5CqNUVIptO1bs4L2dGPbxHHwyrdZnWrnS09DQNODVVAGBzIG3xcFyCvJFm0y3aUmi1sFMaSw0cJGCIg4jsJ3PxVivlrWsYGNGGtGAOwL6UW7u5bCO7FR5BERcJBERAEREARF44hrS47ADJQGZ00BU6gvVaB6vS9G0jkRk\/cPFadZnQoLrTUTu+tLUuJPbsPmStMp1O0Ztl\/ZT559WZvW87haoaNn16qYN54GBv8cK\/poW01LFA36sTAwbdQGFm7l+X65oKX7FIzpXZ7efLuatSuyxFI5S61Wc\/L0CiXSr9AtdTVdcUZLff1eeFLWa1nUF9LS2yM+vVygEA78IP348FGCvJIsrz3KbkZ\/Q8wZqHhc7eaJzR7Ts75L9FX5jaWGhbb7sQQxtY5krsZw3Dfvcv00EEZByCra3auZP05\/TcX\/1z1ZiuIr9dUVOPq0cZkf14PP91adZfTH5de7tdSch0nRRn9HP3BqrhhNmiv1nCHN\/GTUIiKBpCIiAIiIAiIgCi3OTorVVyYzwQPd4NKlKr1I\/g09WnOMx8OfeQPmuxy0QqO0G+4jaMj4NNQO\/Pc937RHyV6qzTbOj07Qt7Yg7x3+a+77WegWSqqM4cIy1v6x2HmVKWZsqpNU6Cb4L7FPpgenXq63YnLXydFGf0f8A4GrUKm0pRCi0\/Tj7Uw6Z3L7XLywrlJu8hs0XGkr6vPqFkpHG56rrqnP4m1wOa0nBAfg\/Pi8FoLxcGWy1z1bjgsbhg7XHYDxVFaaM0Giaype4maqgklcTnraeH7+9dhhX8iuu96ahyy\/LT3OVgtcd10W+kdhrnyuc1x+y4cirDSlxfPRPt9UC2roT0b2u5kch4Yx4dq6aQZwaZpc83cZ\/aKg35kljvcN+gYXQyDo6pjesdvw7wO1SfWbiVQXRU4VVySfh\/Rd3ur9BstXUdbYyG+87DzIUPSVJ6Jp2nyMOmzK7bnnl5YUDVtYyutlDTUcjZBXzANcDzA\/1IWmhibDCyJn1WNDR7govEPEvi9+u2tEvnJynr6WmqoKaaUNmqCRE3B9bHP3d6kL5dGxz2vcxpczPC4jduexfSrNKvd3CIiHQiIgCIiAKo1V\/Rqt\/VH+IK3VRqr+jVb+qP8QUodpFVf8Aal4M72D+YKH+ob8FUaye6p9AtMRPHVTAuwOQG3zz3K3sH8wUP9Q34Kmg\/wCKa8ll+tDb4+AHmOLl8S7wU49pvkZ6maMYf5WX5NOxjY2NYwYa0AAdgX0ih3a4MtdsmrH4JY31Wn7TjyHiq0rs1yairvRFDqKV16u9LYaZ4LGu6SpcDyx1dwzt7R2K01GWw6arA0YaIuEAdQyAomkaCWKhfcaol9TXHjLnc+Hq8efeOxddYvDdM1IP2ywD+8D8lZ\/JRXAxJPoZ1Zate1sEnTjODT1CNv5IHb27qfNDHUQvhmYHxvGHNcNiFwtLDHZ6Jh5tp4x+yFJe9sbHPecNaCSewKt6mumkqaT5GCoqOCi1vHQmcup6eQuiB34SRkNz78d636\/O22+W6Wu435hc2dtSZYz2NG5x7s9v2VuLTXNuVrp6sEEyMHHjqd1jxyravBmLYmleNrXyvDQmIiKk9EIiIAiIgCIo9RcKKl\/5irgi9j5AEONpZZIVVqdvHpytGcepnwIK5TauskOxrOM9jI3H5YVTd9YW6tttTSU8NQ90kZaHFgDR7eefJWRhK6djLW2ijuSW8tC2tta2j0fBVuG0NNnHPJA2UfRlG+K1yVsxzLWyGQkgbjq88nvWWmvbqnTdNZaenk4w71nDfj3JwAPaR4LQwapmpqaOFtgrGxxNDRsdmgY\/NVkoSSduJlpbRTc4tvEV36vU1SylxcdR6kjtbCfQ6Il85G4c4bY3Hbt4r4rdciOle2OgnhqHD8X0oHD71E01frRaKJ4nkmdUzO45X9HnPYM53xv4lRjCUVexZV2ilUkob2NX+DcNaGtDWgAAYAHUs7rlxbp\/A+1M0HzK7fwzsf8A3L\/\/AFO+5UuqtQ226WkU9JM58gla7BYRtg9vvXIQlvK6J7RXpOjJKS05mypmhlLE0cgwDyVRq24uobM6KIEzVR6FmBnY8\/LbvUc62s8MLADPKQ0ZDI+XiQqKsvVXeb9DV0dBNNHR46OEtzh3acZ68dzepdhTd7tEa+1U+j3YPLxg0zKRtn0fLBJhrmUzzJjrcQc+\/c4TSDCzTVNkEcRcdxj7RUD6Jv19e36ZnbS0zXBwghxknz8yVp4omQxtjjaGsaMABRk7K1yyjFuaklZJWVz7REVZsCIqu93yCz04z+NqZNooRzce33LqTbsiM5xhHeloTauspqGEzVU7IWDrccZ93as\/Lq2asc6Kx26WqeCB0j2nhHt26veQvLdpuWvk+kNQOdNM85bTlx4Yx3fDxWkhghpohFBEyKNvJrBgBT6se8zrpqueyvf+jNiwXq6PMl4uZijcP5CnOw9\/Vt3+9SYNFWWHHHFLNj\/qSH5YV+i50kuBJbNS1au+\/JAhslqgGI7fTjbGTGCfEqa2NjGcDWNa3sAwF9Kk1TdjbLZwQ5NTUno4g3mO0\/DxC4rydicnClBytZIzul7fB\/C2pYHiRlHx9Fk5z62AfPxW1ra2nt9K+pqZAyNg3Pb7B7VnI9HSQUdLJR1jqWvjb+Me07PJ3IyOzl18uS6w6buNdVxVF+uDalsJy2GIYaeXsHw71bPdk73MVBVaUNxQy\/Tz8DnZqWe\/XU32viLIGEeiRE7DHX\/vmVpX00Ehy+GNx\/SaCugAAwBgBeqqUrs2U6ShGzy3qRTbaA86GnP\/AIm\/cq++WKlqrROynpoYpmt42OZGAcjq5dfJXSIpNO5KVKEotNamTpb3S0mkBXNigZVAdEA1gHFINgeW+2CVY6TtrrfZ2yTEmeqPSvyeWRsPDzJXKLR1uiuAqQ5\/RskEkcGfUae\/n1eC0CnKStaJnoUp7ylU4Ky\/IREVRsCIiAq79eWWeh4mjjqZctgj\/Od292QoNg0++KQXS6OM1fJ6wD9+jz8\/gq6traWl1lNUXd0gZTsHozQC5ucDl8fetVb6+G50UdXT8XRyZxxDB2OPkrXeMccTFBxrVW5PTRfckoiKo2hERAeOcGtLnEAAZJPUsrQsOotTyXN2XUVC7gg7HOHX4ni8FK1dcpaaijoKQn0qtdwNDTuBnfx2HeVa2m3stdsho2YJY31nD7TjzPirF1Y35mWf1au5wjl+PBfcmIiKs1BERAEREAREQBERAEREBylpoKgtM0EcpZ9XjaDj3ZXQAAYAwAvUQ5ZBERDoXjnBrS5xAAGST1L1Zq\/VlXca46ft4dG9zQ6olIwAw8+7cfBSirsrq1FTjc42WN191DPfJQfR4SY6Zrge4\/E+8rVqLbqCG20MVJCPVjGCcYLj1kqUkndkaNNwhnV5fiERFEuCIiAIiIAiIgCIiAIiIAiIgCIiALzhHFxYGcYyiIcZ6iIh0IiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LUIS MARROQUIN CARVAJAL",
    "correoContacto": "luis.marroquin@medimel.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSTALACIÓN DE PRINTAUDI",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:14",
    "ubicacionGPS": "LatLng(lat: -23.6565366, lng: -70.4000575)",
    "horaLlegada": "15:13",
    "horaDespacho": "09:48",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 15:14:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:74454100

[10/06/2026 15:14:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('74454100', 'EP2454', 1, 19969062, 20192, NOW(), 
				'09:48', '15:13', '15:14', 15, 'Instalacion Print Audi
Firmado por Luis Marroquin', -1, 
				'', '','1','13826',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781118853.png', 'Instalacion Print Audi
Firmado por Luis Marroquin', null, 'COMPLETADO','LatLng(lat: -23.6565366, lng: -70.4000575)' )
				
[10/06/2026 15:14:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200673

10/06/2026 15:14:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200673'                    
				WHERE idllamado = 12979			
				TO ENVIO: micorreo@miempresa.cl, luis.marroquin@medimel.cl


10/06/2026 15:14:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12979			
				
10/06/2026 15:14:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 15:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:14:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:14:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:14:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:14:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 15:14:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:14:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12979
            GROUP BY l.idllamado;
            

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12979
                

10/06/2026 15:14:17 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 15:14:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 15:14:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:14:17 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 15:15:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:15:06 - INPUT: {"rutTecnico":"9291721"}[10/06/2026 15:15:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 15:15:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 15:15:09 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:15:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:15:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:15:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:15:21 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:15:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:15:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:15:26 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:15:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:15:27 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:15:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            
[10/06/2026 15:18:05] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:18:05 - INPUT: {"rutTecnico":"7373114"}[10/06/2026 15:18:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 15:18:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 02/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 02/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => STUDIO 2010AC
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => STUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => EZ 231
            [FechaLlamado] => 02/06/2026
        )

)

10/06/2026 15:18:10 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:18:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:18:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:18:21 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:18:21] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:18:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:18:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:36:12 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:36:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:36:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:36:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:36:18 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:36:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:36:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:38:24 - INPUT: {"rutTecnico":"95585912"}[10/06/2026 15:38:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 95585912 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '95585912'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 15:38:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => AM-C4000
            [FechaLlamado] => 08/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 29/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => BROTHER 7240
            [FechaLlamado] => 29/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MFC-8910
            [FechaLlamado] => 29/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 29/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 27/05/2026
        )

)
[10/06/2026 15:38:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '95585912'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:38:32 - INPUT: {"rutTecnico":"95585912"}
[10/06/2026 15:38:32] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:38:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12973
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:38:37 - INPUT: {"rutTecnico":"95585912"}
[10/06/2026 15:38:37] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:38:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12973
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:38:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:42 - INPUT: {"rutTecnico":"95585912"}
[10/06/2026 15:38:42] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12973
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:38:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:38:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:39:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:39:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:39:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:40:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:40:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:40:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:40:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:40:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:40:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:41:31 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:41:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:41:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:41:31 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:41:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:41:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:41:50 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:41:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:41:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:41:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:42:30 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:42:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:42:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:42:33 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:42:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:42:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:42:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:35 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:42:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:42:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12976
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76419232
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2449
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:42:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                
=========================================
FECHA: 10/06/2026 15:43:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ec5VQ2s44PfAH85BJzMdEZ1UgD9yJBzYpWRwxA2F7UQnZS-IscI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76419232",
    "serieinterna": "KY2449",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "387057",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12976",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACQAOwDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABEEAABAwMCAwUEBQgIBwAAAAABAAIDBAURBiESMUETIlFhkXGBocEVIzOx0QcUJEJSgvDxFiYykqLC0uE0RFNUYnLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECAwQKAQQDAAAAAAAAAAECAxESITEyQVFhBBMiM3GBobHB0UIUI5HhNFLw\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERYamqgo4TNUStjjHV33eaHG0ldmZERDpo3i5xWm3PqpCM\/2Y2nPed0Gy4rJtV\/RtJURCGeWQl72Oa1vdOC0Hcefhz8V4uGdQarjtvDmkoe\/NkbOPh9w9VVqzKKRkV60pNNpLLL1+iepNRVUdyZQXijFI+UfVvB7pPhzPs2VCuPqe2x3CzTOIxLTtMsThzBAyR78LLp6ufcbHTVMpzIQWuPiQSPkuNJrEiVOUo1HTk770zpoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC51xv1ttZ4ampAf+w3vO9ByXjUN2Fotb5muYJ392IOBILvd5fJalh07DTU4qrhGKitm77zK3i4Cd8DPXJ3KmkrXZnnUk59XT138jpW27UV1idJSS8YacEFpBHuK0NYUj6rT8pYfsSJSM4yBnP359y06hotWt6V0LGRQ10XA8NAALt\/nwqlmiZPC+GQZZI0tcPI7Luy00RV61OUJa6Gtaq0XG101WCMysBdjo7kR6grzNd6aG7QWx3GZ52lzeEZAAzz9CuPoyR8Edda5SS+knOPYdtveCfesU0wp9cVk8hA7KhL488tgD0967gWJogq76qEuLSfyZNLE1F6vVWM8Dpg1ueu7vlhU6ntFRcNj7dw708rnFx6749\/XmqFRqbTLeir9lPjn\/OZ4ljEsT4zye0tPvU7oR5dYXg\/qVDgPRp+a7lxrGW+3z1chAETCd+p6D3nAXE0nbcWNk0xw6d7pO74Hbf0XVsMjPv424P4KRERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAscM8NQwvhlZI0HBLTnB8F7IBGCMgqSuVBW6aqn3S1EvpHO4qim6DxPs8+nsUoxvkU1ajprFa63lci07Zc6a7Ubammflp2c082HwK3FxqxbGSkrrQl7nxXPWlHQOwYKRnbOad8nn\/p5+aqFMWlvaa4usxztGGjP7o\/yqnUp7kZ+j54pcW\/TImNUd2\/2Bw2JqME+XEz8VTqe1JSzVFys5iglf2c5LnsjLgwZbuSOX+x8FQpLZR2kmqtTy9iY\/4H8oPQNrqf4gf\/C2L7pp92rBUxVhgzF2b24zxDOfuz6BYLqTNrW2RxAOfCwukxza0k\/xjzVMpOTVmuBVCnGpjhLS5goqSOhooaWLJZEwNBPM+azotW5VrLdbp6t\/KJuceJ5D4qvNs15QjyRP6kkfeLrSWGnceEu7Sd4PIDI+G\/vwqeKJkMTIo2hrGNDWtHQDkFwtJUMkdFJcqnJqa53aEnchnTn6+zCoFKb\/ABW4ooRbvVlrL23BERQNIREQBEU0daUzanD6SYUnadkJ+nEOfltkdVJRctCupVhTtidrlKi8RSxzRNlieHseMtc05BC9qJYEREAREQBERAEREAXwgEYIyCvqICTuFnqrBVOu1ky6InM9KOWPIeHP2LvWq70t3pWz07xnHfjJ7zD5reUzd9PS0tQbtYyYqpp4nwt\/syDrgfLr7VZdSyepkcJUXipq63r6+jyHfRmvHmXaKviAa88uLbA9W\/EKoUw40utLRhp\/N66nOcHmx3+k4+HkvjLhqqiZ2M1rZVcHdbK127x4nB\/BdlG\/iQp1VTu7Xi801n4oqFp3S5wWmhfV1B7o2a0c3O6ALgvr9V0ma2po4nxZ4fzWPBI68RIzgDHj15L5Q2auvtUy53w8MQ3ipMYAHTI8PiVxQSzbyJy6RKXZhF35r1M2maComq6i\/V7OGar+yYebGfyAA8h5qlXwAAYAwAvqjKWJ3L6VNU44UFKXeR+or5HZqZ36LTHjqnjOMg7t+XtPkqtTtt0\/cbbeZKiOvjNLM8vkaWd9532O3n4+5dg0rsq6RGUsMUsm8ygYxsbGsYMNaAAPAL0iKBpPPaM7TsuNvHji4c748cL0pHVLX2e8Ud9pwTxHs5m52dtt6jPoFVU88dVTxzwuD45GhzSOoUnGyTKYVcU5Qeq9jIiIolwUjo2kgr9M1VNUMD45KhwI\/dbuPNVymNF\/UtuVEecFSc\/dy\/dVkdl+RlqpOtC\/Maclktd1qrBUSl7Y+\/TF3VvMj4j0Kp1MaupZad1NfKX7akcA\/wA252+JI96oqaojqqaKoiOY5WB7T5EZSedpCh2G6T3aeD+tDKiIqzUEREAREQBERAEREAREQEtfqCez139ILYO8NqmLfDgeZ\/H1VBQV0Fyo46qndxMePeD1BWw5oc0tcAQRgg9VKWnjsOqJrS7P5rVjtIPBvM\/iPcFZtLmjI11NS62Zej\/srERFWawiIgCIiAIiIDk6npG1enqtpG8bO1acci3f7sj3qd0ndJbbJDRVTv0SsBdTyHkHZwR6j7j1VjXM7WgqI\/24nN9QVKWW1RXzR7KdxDJYZXmKQDdjs59N\/wCMK6DWBpnn14S69Shrb+bbiyRTljvk8dT9DXn6usZtHI7lKOm\/j59fbzo1XKLi7M2U6kakboKYsWYNXXmn6PIk29uf8yp1MUoLPyh1pA2fTDPlsz8F2GjKq+UoPn8MoqmnZV0stPIMslYWO9hGFO6Rqpad1TY6r7akcSzzbnf4kH3qnUtqPjs97or5ED2bvqagAcx\/LP8AdC7DO8TlfsNVeGvgypReWPbJG2Rjg5rgC0jqF6VZqCIvJkYHcJe0O8M7oD0iIgCIiAIiIAiLDVVUFDTPqamQRxRjLnEZx06IcbSV2ZlMa0\/R2264t2fBUYB9oz0\/9VSRSsmiZLG4OY9oc1w6g8ipzXRLrRTwMOXy1LQG+Ox+eFOntIz9K7iTKZF5a0MYGjkBhelA0hERAEREAREQHibHYvzy4Sp7QmfoB2f+u7HoF3qsltHO4bERuI9FxNENA080jrK4n4KxbDM0+\/j4P4N692KlvdOGS\/Vys+zlaMlv4jyXHp7zctPNFLeaeSeBpw2rZk7eeefP2qrXxzQ5pa4AgjBB6rillZ6Ep0byxwdn\/wBqc2n1FaKiASsr4Wg\/qvcGuHuO65OnT9Jaiud4aAYiexjd48unsaPVdSXTFllk7R9BHxf+JLR6A4XRggipohFBG2ONucNaMAZOT8V28UnYgqdWck6lrLgZFq3KiZcbdPRvOBKzGfA9D6raRVrI0tKSsye0hWSPoJbbUAtqKB5jcD+zk4+Y9wVCpa+B1jv9Ne4wRBMeyqgOvn6b+1vmqhrg5oc0ggjII6qc\/wDZbzP0dtJ03rH23HJ1S6qbYKh1I5zXjhJLSc8ORnGB\/AyuNa9L2G50LJ6epqHEtAfiQAtJG4Ixsq8gEYIyCp6v0fTSzOqbdUSUE53HZbM9BjHLopQlZWvYhXouU8eHFy+jW+hL3YyZbRXGphH\/AC0wzsB\/sOWF3LNdY7xQCpjbwHJa5pOcH+S439b7bnanuMbT7HY+B+\/n1Wjpq80tjiq6S59pT1BkMnCWE82jbbr7VJxclxZTCpGlUSzinx08i2XwkAZJwApZt41Fdu\/aqGOGmcSGTS88Zxnc\/L7l6\/otcbg8OvN4fK3OTFCMN93ID0UMFtWaP1Dl3cW\/RFLFNFOwSQyMkYeTmOBC9rVt1uprVSClpWlrAcnJySfEraUHbcaI3t2tQsc8EVTC+GeNskbxhzXDIKyIuEmrnxrQ1oa0AADAA6KXvzxcdU2u2RguED+2m8MbHB9w\/wAS618vcNlpO0cO0nk2iiB3cfwWppmzTUUcldX5dX1Jy9zjktbtsfPPy8FZHsrEzJWfWSVKPi\/D+zvIiKs1hERAEREAREQGpdnBlnrXHkKeQ\/4Sudo5pbpmmJ\/WLyP7xW9fHBtiryf+3kHq0rU0k0t0xRg+Dz6vcp\/h5mZ\/5C8H7o7KIigaQiIgCIiA1bnQR3K3TUcnKRuAf2T0PquRpCuc6iktdT3amhcWFpO5bnb05eniqFcC9WWpdVtutoIjrWDvN2Al5DfO3JTi01hZmqxlGSqxV7a80d9FjhMjoIzM0NlLQXtacgHG4CyKBpC16mgpKwg1NNFKQMAvaCceC2EQ40mrM+NaGtDWgAAYAHRfURDoREQBca56ot1rlmp5S91RE0ERhp7xIyBnl1XZWGSjpppmzSwRvkbyc5oJH8YXVa+ZXUU2uw7MnrRaqi6Vjb5eB3zvBTkd1g6HHx+Kp0RdlK7OUqapqy8+YREUS0IiIAiIgCIiA5GqpOy01WuxzaG+rgPms9gj7KwULfGBrvUZ+aw6loai42d9NTN4nF7SRkDIByea6VOwx00TCCC1gGD02U79ixnUX17lut8mRERQNAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/2Q==",
    "razonSocial": "LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CAZESALUD",
    "correoContacto": "contacto@cazesalud.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56932499375",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28979\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:44",
    "ubicacionGPS": "LatLng(lat: -23.6420485, lng: -70.3911598)",
    "horaLlegada": "15:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 15:43:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76419232

[10/06/2026 15:43:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76419232', 'KY2449', 1, 9291721, 387057, NOW(), 
				'08:00', '15:16', '15:44', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781120631.png', '', null, 'COMPLETADO','LatLng(lat: -23.6420485, lng: -70.3911598)' )
				
[10/06/2026 15:43:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200674
[10/06/2026 15:43:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200674', 'KYO-I647', 1)
				
[10/06/2026 15:43:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28979 and
				    IDproducto = 'KYO-I647'
				

10/06/2026 15:43:51 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
10/06/2026 15:43:51 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200674'                    
				WHERE idllamado = 12976			
				TO ENVIO: micorreo@miempresa.cl, contacto@cazesalud.cl


10/06/2026 15:43:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12976			
				
10/06/2026 15:43:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 15:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:43:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:43:53 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:43:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:43:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:43:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:43:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:43:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:44:07 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:44:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:44:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:44:07 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:44:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:44:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:44:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12976
            GROUP BY l.idllamado;
            

10/06/2026 15:44:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:44:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:47:06 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:47:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:09 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:47:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

10/06/2026 15:47:19 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:47:19] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

10/06/2026 15:47:23 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:47:23] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:26 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 15:47:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

[10/06/2026 15:47:26] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:27 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 15:47:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

[10/06/2026 15:47:27] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:47:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:47:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:50:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:52:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:04 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:53:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:53:04 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:53:04] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12955
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE MANCHA HOJA Y TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 11:05
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                
=========================================
FECHA: 10/06/2026 15:53:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ud78vWKyqE.W7e6zZoUuYy+mnwIbjO2J3-J1PH.D6_OQtANA8Lx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65195060",
    "serieinterna": "TO2786",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "192369",
    "contadorColor": "326991",
    "contadorScanner": "0",
    "detalle": "copias con rayas, se cambia unidad de imagen negra.\nMantención",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12955",
    "observacion": "se csmbia unidad de imagen negra por rayas, unidad usada.\nmantención\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMAOYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABBEAABAwMBBQUGAwUFCQAAAAABAAIDBAURBhIhMUGBE1FhkaEUIjJxscEVQlIWIyTR8DM0YnLhByVERXOCssLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAMGBgIDAAAAAAAAAAECAxESITFBBBNxIjJCUYGxI2Gh0eHwM5EUwfH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAEREAXmSRkUbpJHbLGAuce4BelQ6xrTSWJ8bCdupcIhsnfg7z6DHVdiruxXVmqcHJ7HLTGoqm9VNTHPGxoYA5myMYGeHj81o1k9BUmzRVNa7jLJsNHIAccdT6LWKVRJSaRVwjnKinN5sIi8uc1jC9xw1oyT3BQNJ4mqYKcsE0rYy84btHGV1WPtrJNV3p1zqAWUdI7Zha3cXHjxHQn5hbBSlHDkU0ajqJytlsERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL841ZWy3TUHscILmwO7GNgPF5O\/rnd0W\/r6tlDQT1T97YmF2O\/wAFitFW\/wBsuktym94Q\/DnG97uePDf6K6lknJnn8Zeo40Vvr0Nla6IW22U9GCD2TACQMZPEnzypaIqW7m+KUUkgs1rG6SQwR2qlyams90hp37JOMdeHQrQVNRHSU0tTM7ZjiaXOPgFkdL0014vE19rASGuIiac4BPd4AblZBeJ7GXiZN2pR1l9Fuae029lrtkNGzBLG+84fmceJ81MRFBu+ZqjFRSSCIi4dCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIudRPHTU8k8rg1kbS5xJwgbtmZfXNyDaWO1xZdLO4OcAfyg7hjxP0V3YbYLTaYabA7TG3KRzeePlw6LKaap5L9qOa71Tcsidt45bX5R0A9At4rZ9lKBh4b4s3Xe+S6BEXiWVkMT5ZHBrGNLnOPIDiVUbjL64rHuhprVTkulqXguY3iRnDR1P0V\/abey12yGjZgljfecPzOPE+az1hZ+Pahqb3LHiKAhkA5Zxju37t\/Va1WTySiY+HWOcqz3yXRfcIiKs2BERAEREAREQBERAEREAREQBERAEREAREQBERAFjNa3sucLRSOJJIMxYePcz6HyWjvd0ZZ7XJVOG074Y25xtOPD7nosXpCifc786tn\/eCA9q8u5vOcHz39FdTjbtvY8\/i6jk1QhrL2NpZLcLXaYKUgB4bmTBz7x4qwRFU3d3N0YqMVFbBZbW9zMNHHbISTLUnLwOOwDuHU\/QrTSyshifLI4NYxpc5x5AcSsRYQ7UOrJrnM0mKA7bWn8vJg6Yz8wrKa8T2MvFzdlSjrLL03NVYrb+FWiClO+QDakOfzHef5dFYIirbu7mqMVGKitEERFwkEREAREQBERAEREAREQBERAEREAREQBERAERVeoLsLRbHTN3zyHYhbjOXfJdSu7IjOahFyeiMpqi4G51s4Dmmjt+AOYkkduxuPgejStPpi2C2WWJpA7WYdpIfE8B0GPVY6KnZHdrbbJtqRwlElSMgEyOwdk544GAd\/fhfpKuqO0VFHncJHHUlVlr++2gRFVagvbLHRNl2BJLI7ZjYTgHvKpSbdkehOcYRcpaIqtc3X2eiZbonYkqPekxyYD9z9Cp+krcbfY4+0aGyzntXbt+\/gD0wsjbhNqjVDZaprS3IkkaM7IY3G76Dqv0lWz7MVEw8M+dVlWemiCIipPRCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA+OcGtLnEAAZJPJY6OZuoLrLd6raba7dviBwMuGCQR47j5BSL9WT3uvFgtxIDTmql5NHd6+eAomrKmntNshslABGHDakDTvx47+J8VdCNurPO4iqpJvwx+r8vQ56Pgfc77V3afJ2CSM\/qcfsPstyqTSVuNvscfaNDZZz2rt2\/fwB6YXW\/X+CxwsL2GWWQ+6wOA6nwXJ9qdkW8OlRoKU+r9Symmjp4XzTPDI2DLnOO4BfmV3qp7tK6umEhMri2mjH5YxnPLf\/PKvK66O1VOyjp3ez0MDO3qpXcgPrj67+S92G3R3ueruJiNNTiP2alaziwYwSD345+JU4LArsy8RJ8TJQhp7\/P09zz\/ALP6M\/xVaeG6IePAn7ea2irKOCj03aGQy1GzExxzJJzJOVLpK+krmbdLURzNHHYdnHzVU3ibZt4aCpU1TbzJCIigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqvUN3bZrY+YH98\/3IhjPvY4\/IKzc4NaXOIAAySeSytG12pdSvrpGh9uoSWQ5AIe7d59\/kpwS1ehnrzaSjHV\/t\/QsNPWxlltLp6ohs8je1qJHcWjGcH5b1kaV37SaqNRU4FOHGR4ecBsbeAPoD81otc3H2a1so2Ow+pd7wB37A4+uPVZrTtrkuspiftx0LfeqX5GDjeB4f10vh3XNnncQ1zIUIK6R+israaSmdURTskiaCdpjgRu\/+LNWihbqOsqLzcIMxPDoqeM8NneM8eI3juzv4qglrO2nqLVZ2dnBVytiZGHE7geJJJ4nx4ZW9HYWSzAE5ipYsZI44Hh3lVtYFlqzTCouIleWkdfK5nLzBDSug0zZ4xG6sdtTu3ktbnI38eAPQeK1NDRxUFFFSwtDWRNwMep81Q6RonysmvVY0OqKt5LCR8LfDuyfQBaZRm\/CW8NC\/xLWvp8l+5nOeCGpiMU8TJY3Yyx4yDg54KjrNH0Us3tFFNLQzjg6J27Py4+RWgRRUmtC+dKFTvK5lsars4c7Md0gA4fnH3PqpFHrO2zER1bZKKbG9srSQD8x9wFoVHqqCkrmbFVTxyj\/E3J81LEnqink1Ifxy9Hn+T3T1NPVxiSnmjmYfzMcCPRdVm5tE0QeZKGqqKOTlsPyB9+7nyXP2fVVpOYaiO5wg\/DJufgfPf6n+bDF6Mc6pHvw\/rP8AJqEWag1pTxydhdKSeimA35aSOPn6K7o7nQ14\/hKqKU82tdvHTiouMlqiyFenPuslIiKJcEREAREQBERAEREAREQBEUW418NtoZauY+7GMgZwXHkAiVzjairspdV3GUtis9CQ6pqzsvA\/Kw7t\/dnPkCrq3UENsoYqSAe7GN5xvceZKpdL2+eaSS+3AZqqoe53BmBg+GceXzVvd69tstVRVuO9jPd8XHcPUhWS2ijLSzvXn6fJfkxt8iqtRapfSUwLo6ciLaABEf6ieufJXOpTHYtLikoW9k2V4iyOOCCSeuMdVJ0hRPpbK2aUkyVbjM7PceHpv6r3fdPNvk9M6SbYZCfeAByQSM434G4dym5LEk9EURoydKVSPel9LlNoizf82mBBwWQtLcDuLh6jzUvVVS+tq6SwU5JfUPDpsHg0H\/QnoFogIKCjOy1sUEDCcDcGtAWd0pTvrqysv1RvfUPLIc8m\/wBYHQrmK7c2SdLBCNCO+vTf7GkhiZTwRwxjDI2hrR4AYXREVJ6GgREQBFHluFFB\/bVkEf8AnlaPqVEk1HZ4hl1wh3jPunP0XbNkHUhHVos0VK\/V1jZ\/x20e5sbz9lEfrm3F2xT01VM7lhgGfXPopKEvIrfE0V4kaGangqWbE8Mcrf0vaHD1VHW6Ots+X0hkopsbnROOPL+WFHOp7vOMUmnp88NqTaxnyH1X32rWM5y2hpYG9ziD\/wCxUlGUd7FM6lGp4XL0Z52NVWhx2HR3SnGAA8++B6HPmpVFq2imkEFfG+3zk42JgceeBjnxxwUfstZyHHtFJFyzgHrwKi1unNSXNoZXV1DI0cDsAOHyIYD6qVovvWKcVWH8al0f\/bmwa4OaHNIIIyCOaKl03ZauzQyR1NUJQ4+61riWt80VLSTyPQpylKKclZl2iIuEwiIgCIiAIiiVN0t9GdmorIInfpc8Z8ktc45KKu2S1kro52pdQMtMR\/hKN23UOB+I8CPmN46ldb1rGhZQyR2+odLUP90OY0t2PHJH9ZVbYrhW0VJ2dtsk880x2paiXOHO+eOA381dCDSxHn169OclTTut7Z+mRuWtDWhrQAAMADksxqp5uNxoLFG9zTM\/tJSOTd\/2Dj0C++2axn+G30sA73OGf\/L7KmtVFddQ3GprfxIQPjIjdNGN53Y93GN2B4cfmkI2zbFetzEqcYvP5Wy3N81rWMDGjDWjAHcFzkqqaH+1qIo\/8zwFnv2Kjl\/vV1rJjz97H1yuseh7Mz4hPJ\/mk\/kAoWh5mjHXekEvX8EbV97pH2wUVLVxyPneA8xvDg1o45xnnjd819g1XardSQUFBHUVhjYGN2GY2j137\/lzUOmstufrR9HDTh1NSw7T2FxcC7A45z+obvBbCClp6VmxTwRxN7mNAU5OMUkZ6arVJyndLbz08jPfj2oar+52Axg8DOSPrsp2Ws6jB9opKXwwD9nLTooY1sjRyJPvTft7GY\/AdRT59o1A6P8A6QPDphBolkw\/jrrV1HXH1ytOicyQ\/wAWlur9WzPxaJssfxRSy7\/zyH7YUuPTNliA2bfEcfqy76q1Rcc5PcmuHpLSK\/ohR2a1xfBbqUePZN\/kpbI2RjDGNaP8IwvSLl2yxRitEERFwkEREAREQBFwrKynoKZ1TVSCONnEn6DvWcbd77fXObaqdtHTcqiUZLt\/LO7yB+akot5lNStGDtq\/JGmmqIKZm3PNHE39T3Bo9VUVer7NS5HtJncB8MLS7PXh6qNDoymkkE1zq566XmXO2QeO7v596tqWzWyiINPQwscODtnLvM71LsL5kL8RLRKP1ZTftdU1IH4fZKqoBGQ45A9AV87bWNaBsQUtC0\/mdgkfPJP0WoRcxJaIcmb7036ZGYOmLnWj\/eV8me0n3o4shp7u4eilU2jbLTD3oHznvleT6DAV6qHU14NLB+H0YMlfVDZYxozsg8SfVdUpSdkRnRoUouclfrn7lVaaCmuerJqqCmjioqAhsbWM2Q544E9+\/J6BbNV9jtbLRa4qUb3\/ABSOxxceP2HRWC5OV2T4enghnq82U+p7mLZZZXAjtZh2cY8TxPQZ9F109bRa7NDTloEhG3J4uP8ApgdFTA\/tDrE7g+ito8C1zv8AU+jVrF2XZiokaXxKjqbLJf7YXCsqo6KjlqpT7kTS4ruspeJptRXj8DpX7NLCdqplG\/eOXQ+vyUYxuyytUwRy1enUkaOpZXUtRdakDtq6Qvzj8uT5b8+i0a8RRMhiZFG0NYxoa1o5AcAvaSd3clSp8uCiERFEsCIiAIiIAiIgCIiAIiIAiIgKKs09Lc7z7TX1XaUUeDFTDIGcb8q8a0NaGtAAAwAOS+outtlcKcYNtasIiLhYEREBBvNzbabZLVuDXObuYwuxtOPL79CqvTNnkj2rvcHdrW1Q2gXD4Gn6H6Dcra5Wymu1MKeqaTGHh+GnByPHqpYGBjuU8Vo2RQ6blVxS0WnXzPqrr9cxabTNU5HaY2Igebzw8uPRWKylxaNQarht+CaWhBfP3E7t3D5D5ZSCu8xXm4wtHV5IstK280NljdJntqg9tIXDfv4Z6K5RFFu7uWU4KEVFbEa41baG3T1TzgRMLhuzv5eqp9F0Xs9l9qeP3tW8vc4nJIBwPueq56wndPHTWeA5mq5W5Hc0Hy4\/RaCmhbTUsUDfhiYGDdyAwp6Q6lC7de+0V9X+DqiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREAREQEG9XAWy01FXkbTG4YDzcdwUHSltdQ2vt5h\/E1h7WQ4wcHgPXPUqDfWm+6iprK1xENP++qB38Pscf9y1LWhrQ1oAAGAByVjyjbzMsPiVnLaOS67\/Y+rxLKyGJ8sjg1jGlznHkBxK9rO6xq3st8NvgLhNXSCMY5jIz6kDqoxV3Yuq1OXBy8iNpqN94vFXqCdmG57OnafyjGM+W7qVq1HoKKK30MNJD8ETdnPeeZ6nJUhJO7I0KfLhZ66vqERFEuCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKqv1+hsVPG98fbSSOw2MO2Tjmf671aqtutno7rJTmrY92w44AeQOGeHDkpRtfMqrY8DwalfpOjkMdRd6gkzVzi4AnOG5P8AXRaJfGtDWhrQAAMADkvqSd3c7SpqnBRQXKSmgmljllhY98RJjc5oJaT3HkuqKJNpPUIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "ALEJANDRA GUERRERO",
    "correoContacto": "finanzas@colegiofemar.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE MANCHA HOJA Y TIENE RUIDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56975196535",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:54",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "15:47",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 15:53:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65195060

[10/06/2026 15:53:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('65195060', 'TO2786', 1, 7373114, 192369, NOW(), 
				'08:00', '15:47', '15:54', 4, 'copias con rayas, se cambia unidad de imagen negra.
Mantención', -1, 
				'', '','1','326991',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781121230.png', 'se csmbia unidad de imagen negra por rayas, unidad usada.
mantención
', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[10/06/2026 15:53:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200675

10/06/2026 15:53:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200675'                    
				WHERE idllamado = 12955			
				TO ENVIO: micorreo@miempresa.cl, finanzas@colegiofemar.cl


10/06/2026 15:53:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12955			
				
10/06/2026 15:53:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:53:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:06 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:54:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:54:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:54:06 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:54:06] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:54:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 15:54:11 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 15:54:11] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                
=========================================
FECHA: 10/06/2026 15:55:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rWHf+7CJ.9r30HtB3dUkP.C6afP_kr5mve8Qo5WiWQ6gjErSYY1
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "TO3107",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "95585912",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "El técnico Johan asistió al colegio San Esteban y realizó el retiro de un toner nuevo del área de central de apuntes, por ende, Este documento sirve como respaldo oficial del retiro de dicho material",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12973",
    "observacion": "El técnico Johan asistió al colegio San Esteban y realizó el retiro de un toner nuevo del área de central de apuntes, por ende, Este documento sirve como respaldo oficial del retiro de dicho material",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrAQQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABCEAABAwMBAwkGAwYEBwEAAAABAAIDBAURIQYSMRNBUWFxgZGhsRQiMkLB0Qcj8BUWJFLC4TM0ctI1NkNEU2Oy8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADERAAIBAgMFBwQCAwEAAAAAAAABAgMREiExBDJBUWETInGRobHRFDOBweHwI0JScv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREARFAvF2hs9vfUy6u+GNn87uYLqV3ZEZSUU5PQ7V1wpbbAZquYRs5s6k9g51nnbQ3i7FwsduIh1HLzDj2a49UttkqLzUC7X33g4Zhpvla3myPp4rUtaGtDWgAAYAHMp92PVmZdrWzvhj6\/wZn9k7VTe9Neo4yfljboPABfHW7aymO\/BdYZxzseOPiPqtQiY3yJfTR5vzZl27VVluLY75a5ICTjlY9Wn9dRWjp6mCrhE1NMyWM8HMOQvUsMc8TopmNkjeMOa4ZBCylZTzbIVja6i35LbK4NmgJzyfZnyPceKWUtMmRcqlHOTvH1Xya5F4hlZPCyWJ28x4DmnpC9qs16hERAERfHODWlziAAMknmQH1cp6qnpWB9RNHE0nAL3AZKz1XtNPWzvobBTmomGjpyPcbrx\/ufNKbZEVEgqr3VyVk51LA7DG9XSe7CswW3jM67k7Ulfrw\/vgS5Nr7JG7Hte9w1bG4\/RWdHX0twh5aknZMznLTw58Ecy5R2e2RMDGW+mAH\/AKgVRhjLFtjDDTtEVJcGYdGM7odrwHDjjxS0Xocc6tNpztZ5ZGpREVZqCIiAIiIAirrveqSy04kqXEvd8Ebfid\/brVIIL\/tId6eQ22gcMhjR7zh0dJ05zgdSmo3V3oUTrqLwxV3y+eRd1d\/tVC5zJ62IPbkFjTvOB6CBwUE7a2UHAmkOnERFd6PZa0UY\/wAqKh+uXz++T3cPJWDaCiYMNpIGjqjAXe4iNtofFLzZX0+1VlqHborWxuwDiQFvRznTn6VbRyMlYJI3tex3BzTkFQamxWqrGJqCA9bW7p8Rgqnm2SnoJPaLFcJad4GTE85a4\/rpBS0Ho7HMVeGqTXTX1NQizNPtTUUNS2jv1IaeRxw2dnwO1xkjo6x4BaSORkrBJG9r2O4OacgqLi1qW06sKm6ekRFEtPL3tjjc95w1oJJ6Asraac7R3qa81bd6khcWU0bs4yMa48+09Sm7ZVboLIYIwTJVPEQwM6cT6Y71a22jZb7dBSMAxEwA45zznvOSrF3Y35mWa7Wrgekc\/wA8CUiIqzUEREAXKpp4qullppm70crS1w6iuqIcaurMzWyM80Bq7LU\/4lE87hPO0n9HvWlWYm\/g\/wAQYXDQVlPhxHOQD\/tC06nPW\/Mz7NlFw\/5dvgIij1tbT2+lfU1MgZGwanp6h1qBobSV2faysp6CmfUVMojjYNSfQdJWWzcNspiGl9HaWHjj3pfv6DrXuloqnayrbcLi10VujP5FPnG\/1n7+C1bGMjYGRtDGtGA1owArMoeJktLaM3lD3\/g4UNBTW2mbT0sQjY3xJ6SedSURV6mtJJWQXN8EMkrJXxMdIz4HloJb2HmXREO2uEREAREQBVl8vUVloxI5vKTSHdijHzH7BTK2sgoKSSqqX7kcYyT9As3ZaOa\/XB18uTHck138JC7gBnj3adpU4pavQz1qkk1ThvP06kmy2GV9Qbtefzq2TVrHcIhzadPotEiLkpNvMsp04042QREUSwIiIDjVUlPWwOgqYmyxu4tcFlnCq2NrN5vKVFpmdwzkxH7+vateuc0MVRC+GZgfG8Yc1w0IU4ytk9CirSx96OUlo\/7wFPURVUDJ4JBJG8Za5vAroszRWa5WO9NFvImts5HKse4Ax9fWezjz9K0y5JJaEqU5SXeVmv7kZe7D27bW2Ug1bTt5Z2vA5J\/pb4rULMW0Go27uUzyCIIgxo6Ph+x8Vp1KfBFez545c2\/TIIiKs0hERAEREBl9oQG7VWR7Rhxfuk9WR9ytQsxtD721NkaNSHkkdWR9lp1ZLdRmo\/cqeP6R5e9scbpHuDWtBLieYLJQsk2vvIqZGubaqU4Yw6cq7s9erRd9paqe5V8Wz1C\/dfJ7078n3W4zg92vgtDR0kNBSR0tOzdijGGhF3FfiyMv888P+q16vl+OJ2a0NaGtAAAwAOZfURVmsIiIAiIgCIiAIio9qrjJR25tLTAmprTyUYHHXQ+uO9diruxCpNU4uT4FZO5+1959mjcRaqQ7zntH+I7qPee7J51rWtaxgYxoa1owABgAKFZrYy0W1lK0hz8l0jx87jxP66FPUpO+S0K6FNxWKW89fj8BERQLwiIgCIiAIiIAiKDWXmhoaqGlqJw2WY4DejQ6noGmO0rqTehGUlFXbKax\/wDOF57vVadZiyabY3gHQkA47wtOpVNSjZdx+L9wiIoGkIigVd8tdDpUV0LT\/KDvOHcMldSb0IylGKvJ2J6LMyba00j+Tt1BVVkmeDW4B9T5Lx7ftbXH+Ht8NGw8HScR4n6KXZvjkUfVU3u3fgj1dvzdubTD\/LGX\/wD0f6Vf1NfR0YzU1UMOeG+8DKxBtlzr9qm0lfcv4mOHe5eEfCOONMY4nxV9TbE2iE70wmqXE5zI\/HphTkoq12Z6M6rc3COr4soLZtBBR3i41gpZaqepkxEIxwbk5HPx93m5leUtw2nrqmJwt0VJTFw3+VzvYzrz55ujnXet2Wge8VFslNuqWDR0QwD1EBQhc9o7IxrbjRCuhBxy0J97HXgdnEBSbjLd1IRjUpZVG7dP3xNUiqbftNarkd2KpEcmM7k3un7HuKtlQ01qejCcZq8XcIiLhMIiIAiIgCy1G2S9bYz1bjmlt\/uR4JwXfX5j4K6vlb+zrNU1IOHNZhmvzHQeZUPZKgbRWCF27iSoHKvPTnh5YVkcotmWp36sYcFm\/wBF2iIqzUEREARFCrLzbaDIqayKNzeLd7LvAarqTehGUlFXbsTUWYm2ulrHGKx26aqeDgyPYQweH1IXh2z16u5Lrvc+Sjdj8iA6dhHD1U8Ft7Ioe0KWVNYvbzLet2jtNAS2asYXj5I\/fOevHDvVYdsvaDi22mqqj04wB4A9an0Wy9oocFlI2R4+aX3z4HTyVs1oaMNAA6Al4LhcYa8tZJeGfv8ABlz+9V4y0iO1wHnBO\/j1z4L2\/YqhFsnia58tW8ZE7zrvcfA860yLnaPhkPpoPf7z6mH2KknkvtWakuMwg3XF3HQga+C3Cx1HOKP8RKqEjdFQN3AA4lodny81sVKrrchsWVNx5Noq7ntFbbTltRNvS\/8Aij9539u9Z2fbiqq5eRoIIaZp4y1Ds4HT0DzV7FspZop3zOpRK97i78w5AyeAHDCkS7P2eYYdbacf6Iw30ROmuFyM4bTPSSS\/vEoqexVt6YZK\/aD2iM8Y6V4c3y04jo5la0mydmpMH2QTOBzvTEuz3cPJQ6nYukBMtsqZ6KYfCWvJb9\/Ncqe+3GyTtpNoI96InDaxgyD4DX1Um3LdZXGMKb\/yw\/Oq9dDTxxRwsDIo2saODWjAXtc4ZoqiFk0Lw+N4y1zToQvZIAyTgBUHoq1sjMWMe0bY3iq48niLPfj+hahZjYr86O41vHl6k+8eJ5\/6lp1OpvWM+y50r87v1CIigaSruOztrue+6emDZXcZY\/ddnp6+\/KqRYr9aP+E3Ll4gMcjPzdmdPRapFNTayKJ7PTk8Wj5rIy370XWg0utkka0cZYc7o9RzdKn0m1tmqwP4rkXHHuzDd8+HmrpQayy22vJNTRxvJ4uA3Se8art4vVEcFaO7K\/iv2iXHLHMwPika9p4Oache1l5tjTTOdNZrhNSS6Ya5x3T2ka+q8u2gvNmLBereJYTxqIPrzZ6tEwJ7rOdu4fdjbrqjVIuNLUxVlLHUwO3o5WhzSirNKaaujP7ZvdNHQWxjwDV1ABGNcaD1IWkYxscbWMGGtAAHQFmbgPbNvaCEH3aaLlHac+p\/2rUKyWUUjPR71ScutvIIvL3sjYXyODGtGS5xwAs\/W7XQmb2W0U76+pPDcB3B9\/TrUVFvQtqVYU13maB72RsL5HBjWjJc44AWfrNsKVs3s1tgkuFQTgCMYb48T3DvUZuz12vTxLfawxx5yKeEjA+nfqtBQWyjtsXJ0lOyIc5A1d2niVK0Y65lOKtU3VhXXXyKD9n7T3gk1tY23Qk5EUXxY7vqVOotkLRRnfdE6pkznfmdnyGivEXHN8MiUdmpp3lm+uZ5jjZEwMjY1jRwDRgBekRQNAREQBERAYWua5v4jxljsF0kZ7twA+S3SxFQDL+JbG4+FzcY6o8rbq2ppHwMWya1P\/TCIiqNoXGppYKyB0FTCyWN3FrhldkQ40mrMyANTsZWBrnPqLTO7Q4yYj+vFaC6VkbLFVVcT2vYYHOY4ag5GikVlHBX0slNUMD45Bgj6jrWFqqyos9tuNgrHOdgA0z88Wlw08MnuIVy7\/iYKjezJr\/Vp26Pl8Gn2Rg5DZumzxk3nnXpJx5YV0oFiYGWGgA56dh8QCp6rk7yZrorDTiuiCIiiWhERAEREAVTtJdIbXaJTIA6SZpjjZ0kjieoc6iXPauGGYUlsiNfVO0xHq1p7uPd4rzbdn6morW3O+S8tUNwY4fli46aaKxRtnIyTqud4Us3z4IsNnaCS3WWCCUu5TVzg4\/Dk8O4IrNFBu7uaYRUIqK4GXtbW1G3VzndxijDGjo0aPp5rTSF7Y3OjZvvAJa3OMnozzLN2QEbYXjONQDoc860ynPUo2bcfi\/cycdsvG0rmzXeU0lEfebTR6OPRn7nwC0VBbaO2Q8lRwNiaeJHF3aedSkUZSbyJ06MYPFq+bCIiiXBERAEREAREQBERAY6iZ7V+I9VLj\/AaT4NDPqtiqW02aoor1cbhUSRuFS78sMJJDck65HZwV0pzd2rGbZoOMXfi2wiIoGkIiIAstt1bRPbmV7G\/mU5w89LD9jjxK1KiXWA1Npq4G\/E+FwHbjRSg7STKa9NVKUos5WF4ksNC4HTkGjwGFYKg2MfObA2KeN7DFI5rd5pBI4+pKv0mrSZ2hLFSi+gRFArL3a6A4qa2Jjv5Qd53gMlcSb0JylGKvJ2J6+EgDJOAFmpNr3VTzFZ7bPVvzjfcN1oPN+jhc2WC83hxfe7g+GJ3\/bQO07+b1U8Ft7Io+oUsqaxe3mTLhtdb6STkKYPrag6BkOoz0Z+2VDdRbQbQnFe8W6idxhZq946\/wC\/gru3WagtTA2lp2tdjBkOrz2lT0xJbqOdlOp915clp8sg22z0Npi3KSENJ+J51c7tP0U5EUG29TRGKirRWQREXCRmKTFL+IFWzAAqYA5vWcNz6FadZbaHdodqbTcScNceSeeAAzjPg4+C1KsnomZtnyc48n75hERVmkIiIAiIgCKPW19JboeWq52Qs5t46nsHE9yz7tpLldnOisNvcWA49pmwAO7h5nsUlFspqVoQdnryWpp3ODRlxAHSVCmvVrgOJLhTtPRygJVLHsjUVuJL1dJqh2c8nG73R2Z+wU6HZGyQj\/J756XvcfqpWgtWQx15aRS8X8E6lutBWvLKarjkcBndB1\/Wo8Qpizsuz5iv9DLQUzKalhDnSyRuAc4n5SOJ4DxK0SjJJaFlKU3dTWgREUS0Ii4VFbS0gBqamKHPDlHhufFDjaWbO6LOVW2tvY\/kqKKatkPARtwPPXyXIVu1lyx7NRRW+M8HTfEO3P8AtU+zfHIzvaad7Rz8M\/4NOSAMk4AVfV7QWmi3hPXRbzTgtYd5wPYFUfujV12t2vE84OvJx6AHv06eZWNJstZqPBbRtkcPmlO966LtoLVjHXluxS8X+l8kB22cEjzHbrbVVZB+VuAevTJ6ObnXk1e19ePyKKChYeDn43h459Fpo42RMDI2NY0cA0YAXpMSWiHY1Jb03+MjLnZa412f2re5pGkYMcWjft0cynUmyVmpN0+y8u5vzTHez2jhz9CukXHOTOx2akne131z9zzHGyJgZGxrGjgGjAC9IigaAiIgCIiAIiICk2uoTW2CbdaS+AiVuBnhx8iVLsdf+0rNTVJdvPczEn+oaHzGVPIBGCMgrIQyv2Pu8kNQD+yqt5dG9ozybv8A808D1KyPejhMlR9lVVR6PJ\/pmwRc4KiGpibLBI2RjhkOacqPVXe3UQ\/iK2GM\/wApeCfDioWZpcopXbyJiLNT7a0zpORttHUV0nAbrSAfr5LkIdqb1pPKy107hqGD3j558wp9m+ORQ9pg8oLE+nzoXtdd6C2g+11UcbsZ3M5ce7iqI7RXW8vdFYqEsjzj2mYaD6evYplBsfa6Rwkma6rlxqZtW5\/0\/fKvGtaxoaxoa0cABgBLxWmZzDWqbzwrpr5mfotkYTN7Vd6h9fUnjvk7g+\/p1LQMYyNgZG0Ma0YDWjAC9IouTepdTpQpruoIi+EgDJOAFEsPqKkuW1lsoBuxyiqmPCOEh2vWeAUHltqL04GKNtqpXD4nYL8evkFNQeryM8tognhjm+hoKy40dvYH1dTHCDw3jqewcSqGbbL2h5itFunrJMH3iCAOvA1PkutFsbQQyCatkkrpgckyHDT3fcq+hhip4xHBEyJg4NY0ADuC73F1I2rz1eFeb+DNCk2sumTUVcduid8kfxDw+6702xVtY\/lat81ZIdXGR+AT06a+a0SLnaPhkdWzU9Zd59czjT0lNSM3Kanjhb0MYG+i7IigaEkskEREOhERAEREAREQBERAEREAREQBcqimgq4TDUwsljPFrxkLqiHGk8mZuXYa1vkLopamEHi1jwRjo1BKkU2x9mpzk07piDkcq7PR0Y6FeIp45cyhbNRTvhRzhghp2BkETImDg1jQ0eS6IigaErBEXl72RsL5HBjWjJc44AQHpfCQBknACz1TtbHLI6ms9LJXzjna0hg6+n07VHZYrxeyJL5WmKHORTQ4HjjT1Kng\/wCsjM9oTdqaxP08yZcNraKmk9nomur6knDWQ6jPbz92VBNpv9\/dvXWo9ipTryEXEjs+5PYtDQWuhtrN2kpmRaYLgPed2niVLXcSW6jnYyqfdeXJafLK632K22xrfZqVm+3\/AKrxvP8AHm7lYoig23qaIxjFWirBERcJBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFHd9poaCcUVLEaytccCJh0aes9PV6KFT2K6XeVtTfqpzYwctpYzgd+NPU9avKa3UkFdU1ccIE8rhvvJJJ0HTw48ymqzElumbsZVHeo8uXD88zhSUVNQQCClhZFGOZo49p5+9d0RVmhJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "SUPERVISOR AREA",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:56",
    "ubicacionGPS": "LatLng(lat: -23.6618702, lng: -70.4000994)",
    "horaLlegada": "15:32",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 15:55:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/06/2026 15:55:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'TO3107', 1, 95585912, 0, NOW(), 
				'08:00', '15:32', '15:56', 10, 'El técnico Johan asistió al colegio San Esteban y realizó el retiro de un toner nuevo del área de central de apuntes, por ende, Este documento sirve como respaldo oficial del retiro de dicho material', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781121338.png', 'El técnico Johan asistió al colegio San Esteban y realizó el retiro de un toner nuevo del área de central de apuntes, por ende, Este documento sirve como respaldo oficial del retiro de dicho material', null, 'COMPLETADO','LatLng(lat: -23.6618702, lng: -70.4000994)' )
				
[10/06/2026 15:55:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200676

10/06/2026 15:55:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200676'                    
				WHERE idllamado = 12973			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


10/06/2026 15:55:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12973			
				
10/06/2026 15:55:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 15:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:41 - INPUT: {"rutTecnico":"95585912"}
[10/06/2026 15:55:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12973
            GROUP BY l.idllamado;
            

10/06/2026 15:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:55:41 - INPUT: {"rutTecnico":"95585912"}
[10/06/2026 15:55:41] Llamados.php->getLlamadosByTecnico: RUT: 95585912 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '95585912'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12669
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 16:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2570
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12713
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSUMOS
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:35
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2136
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12714
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2552
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12635
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => NO ENCIENDE Y PROBLEMAS DE CONECTIVAD
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 18/05/2026
            [HoraLlamado] => 12:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91947000
            [ClienteRazonSocial] => SIKA CHILE S.A
            [ciudad] => SANTIAGO
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => EXTO2207
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => SUPERVISOR AREA
            [RUTTecnico] => 95585912
            [idllamado] => 12863
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270424
            [ClienteRazonSocial] => ENERGIA EOLICA CJR WIND CHILE LTDA.
            [ciudad] => PROVIDENCIA, SANTIAGO
            [ModeloMaquina] => ESTUDIO 2520AC
            [SerieInternaMaquina] => TO2956
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12973
                

10/06/2026 15:58:10 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 15:58:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 15:58:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 15:58:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BLINKEND SEGURIDAD SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76548103
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CAROLINA ANDREA LEIVA PEREZ
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 13458077
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

)

10/06/2026 15:58:11 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 15:58:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12984
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TRASLADO PLOTTER 3ER PISO AL 5TO PISO.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => T5475
            [SerieInternaMaquina] => EP3086
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 15:58:14 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 15:58:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

[10/06/2026 15:58:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12984
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TRASLADO PLOTTER 3ER PISO AL 5TO PISO.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => T5475
            [SerieInternaMaquina] => EP3086
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 15:58:16 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 15:58:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12984
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TRASLADO PLOTTER 3ER PISO AL 5TO PISO.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61814000
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => T5475
            [SerieInternaMaquina] => EP3086
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

)

10/06/2026 15:58:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:58:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:58:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:46 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12976
                

10/06/2026 15:58:51 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:58:51 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:58:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:54 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

[10/06/2026 15:58:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:54 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:59 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:58:59 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:58:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 15:58:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:06 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:06 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:59:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:59:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12971
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 10:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78179996
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2837
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            
=========================================
FECHA: 10/06/2026 15:59:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BaNA6vHLm+aXP60jkXvmphh6Ooa-UB56Fi92DDtrRbBH28fbAfx
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78179996",
    "serieinterna": "EP2837",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12971",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACaAOoDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAQMEAgf\/xABAEAACAQMCAwQGCAQDCQAAAAAAAQIDBBEFBhIhMRNBUYEUImFxscEVFiMykaHC0SRC4fAzNaI2UlNicnN0svH\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC8RAAIBAgQDCAEEAwAAAAAAAAABAgMREiExQRMycQQiM1FhobHhgRQjUvBikdH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA67ivC2t6lepngpxcpYWXhHYYO87n0fbtWKeHXnGmvi\/wAkyUVdpFdWeCDl5GPQ3JrVNW+q3Sg9NrVJQcIx+7zfsz448ccy1TTWU8pk\/qumRjsp2jj61vQjPLXNSist\/H8T3bcufS9As6uctU1B++PL5E52aujPQxwngm73Sf8A00wAVGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtuBPU9zabpa506b7ary8+fkvz7ypJjR8ahvDU79NTp0IqjBroui\/S\/x9xZDK7M3aO8ow837LMormkq9rVotZVSDjj3rBg7GqOpoDTeeCtKKWOnJP5lGTGz32NfVbKX3qNy34N5yv0nFysVMq8H1RTgAgaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzahf2+mWc7q5k404tJ4WW8vHJGfpO5rPVK3o\/DO3uMZVOoubXv8A76nh3s3Ut7C1z6ta5WUur7vmevcOgQ1G3jXtUqV5brNKUVjKXSP7eBYoxsr7mOdSrjlg0jbLzNwGTt3WPpjTu0qJRuKT4KscY5+OPaaxBpp2ZphNTipR0Z5NUu\/QNLubrvpU24+\/u\/PBl7Ns3b6HGvNt1LqbqSbeX4L4Z8zp3jcTrU7XR6MXKreVVnH+6n+\/wKGjShb0KdGmsQpxUYr2JYJ6Q6lC79dv+K939HYS+lr0bfWp0Oka1JVEs9X6r+bKgmL7+H3\/AGFTpGvQcX7XiX9DkN16He0ZYJeTXvkU4AIGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmN1c9a0CL5p3PNePrQKcmN0\/55t\/\/AMn9UCnJy5UZqXi1Oq+CT1e1rbd1Za5Ywcraq8XVGPTn3\/33+82XuLSvQVd+mU3CS5RTzPPhw9cmlKKlFxkk01hp95kfVXRe37X0KOc54cvh\/DyO4k13jnDqU2+Faz2ezPBoFvc6rqtXXr+DgucLWnJfdjz5+Xj35ZTnCSSwlhI5IyldltKnw421e4JjdGaOu6Jcr\/j8L8ccUf3ZTkzvmLjpdtcR60riL64fR\/0O0+Yr7V4Lfln\/AKZTA4i1KKkuaayjkgaQAAAAAAAAAAeLUtWs9KourdVOHwjFZk\/I6lfQ5KSirtntBLrdd9fuX0To9SvBPCqTbSb8uX5nPbbyuuStrS0T6NtP5v4EuG9zP+pg+VN9EU4JeUN16ao3FS5pX8eJKdGEMvHswl+Xj0KaEuOEZNOOUnh9xxxsWU6mO6s11PoAES0AAAAAAAAAmNyetuTQovmlWbS9vFH9inJjcf8AtNof\/dfxiU5ZLlRmo+JU6r4QABWaQAAAYm76Xa7auemYOMuf\/UjbPDrdPtdDvoLq6E2velklF2kiqtHFTkvRnOj1XW0WyqPrKhDPvwj2mNtKqqu2rTnlwUovn0xJ\/LBsiStJnaMsVOL9EAARLAAAAAADrrVqdvRnWrTUKcFmUpPkkS+k231i1yvrN1TU7Om3TtqdSOU8cs4fLxfvfsGs1am4tbhotrUlG1oPiuqkU+qfTy+PuKihQpW1CFCjBQp01wxiu5FnIvVmTx5\/4x939H2kksJYSOQCs1gAAAAAAAAAAAAAAExuf1NwaDNdXccP+qH7lOTG8\/sp6XdSX2dG59Z\/g\/0spk01lPKZZLlRmpeLUXT4OQAVmkAAAHEkpRcXzTWGcgAmNlydCjf6bP8AxLa4fVdz5fpZTkzfWt3pG5IanYWk69G6ShcQpxy08837O5+HUpic83fzM3Zrxjw3t8bAAEDSAePUlqLp0lpzoqfaLtHV7o9+D2HTid20DI3Hq60nTn2bzdV\/UoRxlt8svyz8DWlJRi5SaSSy2+4ldKjPcev1NXrw\/hLV8FqmmlJp5Uveur968CUEtXoiivNpKEdX\/WzU25pC0nTl2izdV\/Xryzlt88Lyz8TXAIttu7LYQUIqMdEAAcJgAAAHmvdRtNOpxqXleNGMpcMXLvZ6Qcum7AAA6AAAAAAYW8qantm4k0swlCS5f8yXzNLSZupo9lN9ZW9N\/wClHGrWvp2lXVss8VSlJRx445fmZ2z7z0rb1GLeZ0G6cvLmvyaLNYGbTtHVfD+zdABWaQAAAAAAAAAAAAAACe3jdThp9Gwo86t9VVNLnzXlz6uJsafZUtOsaVpRXq0o4zj7z72\/ezAhH6S37U7ST7OwpLgi+jfL5yz5IqCyWSSMtHv1JVPwvx9gAFZqAAAABjbo1Wel6X9hxekXEuzpcPVPx\/vxOpXdkQqTUIuT2M6a+sG71GNTtLHTopyx92U+uPbz\/wDVlUZuhaTHSNPVJyc61R8dab\/mk+vkaRKbu7IroQcU5S1eb\/voADquLmhaUXWuKsaVNdZSeCBc2lmztB8UqtOvRhWpTU6c0pRkujR9g7qAAACW0XOmbr1DS+LFGt9tSjjC8eXk8eRUnir6Vb19St9QeY1qCaTj\/Mvb+LJRdrplNWDk4yjqn7bntABEuAAAAAAAAAAAAAAAJnRsQ3lq8G1xOKlyz4r90UxKaxN6Fuq31eSfo1zDsqziunL+kX5MqYyjOCnCSlGSymnlNFk9mZezu2KG6b98z6ABWagAAD5nONOnKpOSjGKbk33IlLVVd0bhhqDi46dYyxSUv55f\/cPyR9a9fVtbvlt\/TJPKlm5qp8opdV7vH24RSWdnQsLSna20OCnTWEvmyzkV92ZH+\/Oy5V7v6O8AFZrB116FK5ozo16calOaxKMllM7AA1c+KVKnRpRpUoKEILEYxWEkfYAAAAAAAAAAAAAAAAAAAAAAAAAB0XlpQvrWdtcQU6c1zT+JOQ0rW9vSf0RUV5aZcnb1Wsrp06c+vT8CqBJSayKalGM3fR+aJilvWjSfZ6lYXNpVSWVw5X54aPR9ddG4U41KspP+VUnk3ZwhUjwzipLwaydPoNnnPolDPj2aJrC9iiXGhliv+PswHvP0iXDpuk3V0+5tY+GTrlZ7o1qajd1oabb98aT9Z\/g8\/i8FUkksJYSOTmNLRE+BKfiTb6ZGfpOi2ejUXTtYPiljjqSeZS\/v2GgAQbbzZojGMVhirIAA4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP\/\/Z",
    "razonSocial": "CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ELSA LOBOS",
    "correoContacto": "todotramiteantofa@gmail.com",
    "correoCliente": "J.MARTINEZ@PACTUMABOGADOS.CL",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56933752026",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28978\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28978\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28978\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28978\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:00",
    "ubicacionGPS": "LatLng(lat: -23.6419703, lng: -70.3911236)",
    "horaLlegada": "15:43",
    "horaDespacho": "15:44",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 15:59:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78179996

[10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78179996', 'EP2837', 2, 9291721, 0, NOW(), 
				'15:44', '15:43', '16:00', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781121582.png', '', null, 'COMPLETADO','LatLng(lat: -23.6419703, lng: -70.3911236)' )
				
[10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200677
[10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200677', 'EPS-I302', 1)
				
[10/06/2026 15:59:42] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28978 and
				    IDproducto = 'EPS-I302'
				

10/06/2026 15:59:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:42 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200677', 'EPS-I303', 1)
				
[10/06/2026 15:59:42] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28978 and
				    IDproducto = 'EPS-I303'
				

10/06/2026 15:59:42 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200677', 'EPS-I304', 1)
				
[10/06/2026 15:59:42] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28978 and
				    IDproducto = 'EPS-I304'
				

10/06/2026 15:59:42 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [10/06/2026 15:59:42] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200677', 'EPS-I305', 1)
				
[10/06/2026 15:59:42] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28978 and
				    IDproducto = 'EPS-I305'
				

10/06/2026 15:59:42 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
10/06/2026 15:59:42 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200677'                    
				WHERE idllamado = 12971			
				TO ENVIO: J.MARTINEZ@PACTUMABOGADOS.CL, todotramiteantofa@gmail.com


10/06/2026 15:59:42 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12971			
				
10/06/2026 15:59:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:59:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:45 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:59:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:59:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:51 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:51 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:59:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 15:59:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:51 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:59:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:52 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:52 - INPUT: {"rutTecnico":"9291721"}
10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

[10/06/2026 15:59:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

[10/06/2026 15:59:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:52 - INPUT: {"rutTecnico":"9291721"}
[10/06/2026 15:59:52] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 15:59:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12971
            GROUP BY l.idllamado;
            

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12971
                

10/06/2026 15:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 15:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 15:59:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:00:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 16:00:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:00:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:00:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 16:05:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                
=========================================
FECHA: 10/06/2026 16:05:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-oZW8JB+ZMc8F4YAhZOERDlWr+1gY+ZrFCGMPfOdhR_esiKpG5d_
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61814000",
    "serieinterna": "EP3086",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "JORGE WASHINGTON 2551",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Piso 5, pasillo",
    "rutTecnico": "24456550",
    "contador": "50",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia ubicación del plotter del piso 3 al piso 5, recepciona Genesis\n•No se configura internet",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12984",
    "observacion": "•50 hojas A0",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADCAVgDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABGEAABAwMBAwkFAgoKAwEAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQyscHRI0IHFTZDUoKSsuHwFiQzNVNyc6LS8SV0wjT\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBQcDBQEBAAAAAAAAAQIDERIhMQQiQVFhEzJxkaGx0YHB4SMzQmLw8RT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBFEr7nR22LlKuoZEOgE73dw4lULtUXC5ODLHa5JATgzTN5o8jjzKkoNlM68IOzefLialFlxp++V\/PuV6fHndycA3Y8MD0V7bLdFa6FlJE972tJO08gkknJRpLiIVJyecbLr8EtERRLgiIgCIiAIiIAiIgCIiAIiIAiIgIV2rfxfa56naAcxvNyfvHcPVZ+lul3t1bb33OdstPceAazBYTjA7OI8yputiRp1+DxkZnzUXVXM01QzBxDo3xkEf5SroJWXU8\/aJyU5NPupP1NUi8sdtxtdjG0AcL0qT0AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIizdfqOoqap1vsEHtM7dz5\/uM+R7+HepRi3oV1Ksaauy2ud4obTGH1cwaSMtYN7ndwVAbrftQnYtVP7FSnd7RJxI7D9PNTLZpWOKY1l1k9uq3bzt72NPZnj4+S0AAAwBgBSvGOmZRgq1e88K5LX6v4KC36PoKZ3LVpdXVBOS6X3c93T45V8xjI2BkbQxrRgNaMAL0ii5N6l9OlCmrRVgiIolgREQBERAEREAREQBERAEREAREQBERAZ3XD2t0\/h33pmgep+Sj6w+z0xSRPadsyRt2RxyGnK9axPtFRareMHl6jJaTu6Bv8A2j6r7rE7c9pgb78lTuHiPqFfD+J5tfPtX0S\/3maWNpZG1p4gAL0iKg9IIiIAiIgCIiAIiIAiIgCIiAIiIAiKFdrgy12yasfgljea0\/eceA811K+RyUlFNspb\/cqiur2aftjgJJR9vKD7g6R5ce\/CurVaqa0Ubaenb2veeLz1lVuk7Y+lon11Tk1dadt5dxxnI6N3HKv1OTtuozUIOX6s9Xp0QREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKPUV1LSSRxzzMY6U7LQTxO\/6IcbSzZIREQ6ZesHtX4QKKM7208Bdjt5xz6jyXyQG668Y0HMNvj2jgfe7+8jyXGSsjpNZ3Otm3x0lIDx4nDMAdWScKZo2jIoZrlM08vWyF5J\/Rz9cnyV7yV+h5kd+pg\/s2\/BZe5o0RFQemEVLctUUFvl9nj26upO4RQb8HqJ\/wCz2KB7LqG\/ODqmb8WUZweTaOe7sI4+eO5TUHq8jPKvG+GG8+nyagOBJAIJHEdS+rH6fo2UWq6ult0sr6SFgbNtuBBf\/A56OtbBclHCyVGo6kbtWCIiiXBERAEREAREQBERAFlb0XXrU1NZhnkKYctP2nHj0EftLUkgDJOAFmNIf12pud1cN88+y09QG\/HqFZDJORlr7zjT5vPwRp2tDWhrQAAMADoX1EVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC\/PLoyW9C53pzsw0rmwwtBBBAcB1EY353Hp6lrNT1oobBUPD9l8gEbMHBJPHHhk+Cr5KBtDoCSE5LnQCR+T94kH04eCup7uZg2pdo3Dgk38F\/QTmpt1NUOOTLEx5OMcQCpCrNOOLtPURcSTyQ3lS66sit9DNVzHDIm5PaegeJ3KtrOxrhL9NSfI\/PJzLctRVtDEMmrrNkuA4Ma4+W7B8F+kRRMhiZFG0NYxoa1o6AOAWU0TRsnfV3d7Tyj5XMZk5wDgn44z3rVTyPip5JI4zK9jC5rAd7iBw8VZVeeEybFC0HUfH2PNVWU9DAZ6qZkUY+84+nasxLcrlqiQ01qDqSiBIkqXbi7sH0XujsVVfKgXK\/Fwb+apQcBo7eodnHrK1EcbIo2xxsaxjRhrWjAA7Ao5Q6sstUr67sfV\/BX2ixUNmixTx7UpHOlfvcfoOxctRXkWih+yIdVy82FmM5PScdisK2sgoKSSqqX7EcYyT8gs5YKOe81\/wDSC5DBB2aaLG4DoPdvOO3eiz3pHajwJUaWTfouZZaatTrXaxy2TUTnlJc5yCeg9oVwiKDd3dl8IKEVFcAiIuEwiIgCIiAIvhIAyTgBVlbqS00BLZqtjnjILI+cc44buHiupN6EZTjBXk7Foiz1Dqia510cVJaag0znYdO\/cGjr6vVF1xcdSNOpGorxLK+VPslkrJ92WxEDPWdw9Souk6f2fTlKOmQGQ+J3emFE1xM5ljZCzjPO1pGeI3n4gK\/poW01LFA33YmBg3Y3AYUtIFS3tofRe\/8Aw6oiKs0hERAERQbleKG0xbdXMGk+6wb3O7h811JvQjKSiryeROVbcdQWy1ksqakcoB\/ZsG0704eKpXVd91KS2habfQE\/2zshzx2dfh5qytelrdbCJCz2ifjysu\/B7BwHxU8Kj3jP2tSp+0sub+yII1VXV7i202aaVvRJJuHjjd6r7+OdT0+HVNibI3GcQu348C5adExLkd7Go83Ud\/oVVp1DR3ZzooyYqhnvRP3Hw68dKtVmtU0JpTDfaMNjqKV45QjdttJxvxx447iVbVF5pKW0sucpdyDwwjZGTzsfX0XHG9nEQqOLcajzWd+hPRcaOqirqSKqgOY5Whzc8V2UDQmmroIiIdCx0lVy\/wCEmEZy2BpjBH+Qn4uwtbNKyngkmkOGRtLnHsAyvzmhjlFztd0eefXVzj08NpoPq5yupK9zBtk2nBLmn5P8n6UiLlU1EVJSy1MztmOJpc49gVJubsrszN1f+OtW0lsjJdDR\/azYOBncfoPE8Fb6k\/J2t\/0lX6OifNBV3WYfa1kxIJ47I7e8keCt7vTGstFVTtBLnxEAA8T0dBVrdpJcjHTi5UpT4yv+Dhpv8naL\/SVDqOsfe6uS20jx7LRsdNUyDhloO7P87+5eKa+VX4npbNa6eU1+wWyFzcclgkE\/zw71aC0ssmk66IO25ZIHmZ\/HJLcHClbDK7KnLtaShHRLN\/TT5PWi2Fum4ifvveR54+Sv1T6TaG6ZowOpx83FXCqn3mbNnVqMfBBEWd1TdJGiKz0JzV1hDSWuwYxkce\/4ZSMcTsSq1FTi5MhVT3auvbaSFzja6Q5le3g92\/ge3gPErWta1jAxjQ1rRgADAAUOz2yK0W6OljAyBmRw+8\/G8qcuyd8loQo03FOUu89fgIiKBeEXwkAZJwAquu1JabeS2Wra54OCyPnHPhw8V1JvQjKcYK8nYtV8JAGScALLu1PdLgcWezSOY73ZZtwPyHmvv9GrndcPvV0eW53RQgDA+Hoe9TwW7zsZ\/wD0Yv24t+i82WldqO02\/ImrGOePzcfPdnq3cPHCqTqm53EltmtEj25wJZuHDyHmrWj01aKIDk6Jj3dL5eeT5\/JWgAAwBgBLwWiuMFefelbw+X8GX\/o9d7vKX3m4ujiI\/sKc4Hd1fFWtDpy02\/Bho2OePzknPdnr38PDCtEXHNvInDZ6cXe13zeZ8AAGAMAIvqKBeZfVX9Zu9moRnnT7bsbsDI+WVqFmJv6z+EOAHhTUxOBv6Dx\/a+C06snokZqGc5y628kERFWaQi+OcGtLnEAAZJPQsrXXqsvtQ62WIER5xLV7wAOw9HxPQpRi5FVWrGms9XouZKu+p2wTGgtcZq613NGxvaw9vWf5K+WrTH2pr704VlY\/Bw\/e1nZ2n0VhZrHS2Wn5OEbcjvflcOc76DsVkpOSWUSqNGU3jq+XBfLPgAAwBgBfURVmoIiICr1KWN07Wl4yOTx45GPVZSXbuMFjtIkJYIjNI3pA34z+qD5rQ6zqRBpyVnTO9sY88\/BpVRo+B1U+suMmSIoRTxZHU3fjq4DzV8MoXPM2jf2hU1xSv53LXRUzpdPMa4D7OV7Rjvz81oFm9C\/3A7\/Xd8AtIq6neZr2V3ox8AiIoGgodZVfs9gkia4bdQ4RtHSd+T6D1VbcqQU1w0zbwcvgcC49e9pPqCu13zddYUNuBJipRysoz08d\/wDtHivdxw\/X9sjdva2BzgDwzh\/0Cvjkl9WeZV35SfWMfW7NOs5rSqey2RUMJ+1rJQzGeIHH1wtGss0fjjXJcQHQW1mAQ77\/ANck\/squGt+Rq2ltwwLWWXz6Gjo6ZlHRw00fuxMDBuxnA4rsiKBoSSVkeRGxry9rGhx4kDeVX6ids6erjjP2JHnuVkqjVJI03W4OOYP3gpR7yK62VOXgz1phuzpyiGc8zPmSVaqusH9wUP8AoN+Cm1E3s9PJNsOfsNLtlgyXY6Aks5MUsqUfBES83WGz299TIQX4xGz9N3QPqsbab1FT1UtwkimuF2qshsbG82MdWfLgNw3KXS2eu1XWG5XQvp6XhFEOOOzPAdvStJHFaNP0x2eRpWY3lx5zvmVbuxVtWYn2laXaXwxWl\/f\/AKU4oNUXgF1XWi2xHe2OIc70OfM+Ch3XTtptlKai53KrmlPuta4Bzz2Ag+alVut2SPFPaKV9RM\/c1zhgZ7BxPouLNH3C51Lqu9V3OcPdj3kdnUPDK6m1nLJFc1CeVNY3zby+D1p69UtmsgbcqsF7nExQs5zmswN2BwOc8VI\/pHd7nus9ofsHBE0+5vb1D1VjQ6YtNvIdHSiR4+\/Lzj9PRWwAAwBgBQlKN7pGmnRrKCjKVkuWvmzMDTV1uRzebu8sPGGn3DHoPQq0odOWm34MNGxzx+ck57s9e\/h4YVoii5yZdHZ6cXe13zeYREUC8IiIAiIgCIiAzFu+217cpMbo4Azr38z6FadZix\/lhefD4rTqc9TNs3db6v3C+OcGtLnEAAZJPQvqyt8rai+VpsVrJ2Wu\/rU3Q3HR\/PHh1rkY4mWVaqpxvq+C5nOtrarVVa6221xjoIz9vUY97s+g6e5aWgoKe20jKWlZsRt83HrPWV8t1vgtlFHS07cMYN56XHpJ7SpS7KV8loRpUnF455yf+sgiIoF4REQBEXl72xxue84a0Ek9QQGH15VmavpqCPJMbdogDi53AeQ9VpaCj\/E+mxA4ND4oHOkxw2sEnvWXsEbr9q6a5yR\/ZRO5XDt+DwYO\/dn9VbC8nFkrz1U0n7pV88rQPN2dY3Ovz08EVeiGbGnWu\/Tlcfl8loVS6Q\/Jej\/X\/fcrpVz7zNezK1GPggvEsrIYnyyODWMaXOcegDiV7VBrGtMFoFJHzpqx4jYzGSR049B4rkVd2J1Z9nBy5EfSUT6yorr3LjaqZCyPdvDf5wPBHNM34Q2kuyIKbcM8Mg\/8le22jZb7dBSMAxEwA46T0nxOSqCtmismsDcKnLKeqg2XSBpIaQB3590cOsKxPFJ2MkodnShi5pv\/AHiXl2uDLXbJqx+CWN5rT95x4DzVZo+hlgtj62oJM9c\/lXEjeR0Z78k+Kr5nzayr4oo45IrXTu2nuduMh7PD4la9rQ1oa0AADAA6FF7sbcSyD7Wr2n8Vp939j6iIqzWFT6rIbpmsJ\/RaP9wVpNNFTxmSeVkTBxc9wAHiVj9Valoa23SW+jc+YvLS6Row0AEHxVlOLclYzbVUjClJN5tM0lhaW2GhB\/wGH0XC4antVuLmyVHKSN4xxDaP09VTUtivF4oaZtfXinoxG0MghG8txuz0cOvKl1MOnNLRNe6mZJUEZYHc97j17\/d79ylhjfmVKrU7NNLClxfwRpL7e7qx76CBlvo2+9VVHQPHd5A96oY7VNeri+KjmlrcEcrWSgtaO4Zz9eoK\/ioLrqiQT3Quo6AEFlM3cX9\/1PgFp6Wkp6KBsFNE2KNvBrQpY1DTUpWzy2h3m3brx8FwXqQbNYKOyw7MI5SZ3vTOHOPYOoditERUNtu7PShCMFhirIIiLhIIiIAiIgCIiAIiIAiIgMxY\/wAsLz4fFadZi1gx67ujCNnaiDgOv3d\/qtOp1NTNs3ca6v3KbU1zlt1s2ab\/APTUOEcR6s8T\/PWumn7My0UOHc6pmw6d5Ocu6vDJVbfQKjV1mpn72MzJgjpzn\/5C0668opczkFjrSk+GS+4REVZqCIiAIiIAs3rS7exWv2ON2JqrmnHQzp8+HiVf1NRFSUstTM7ZjiaXOPYFhbLBNqbUr7lVN+xicHkY3bvdb8CfHrVtNfyeiMe1VHZUoay9jUaZtZtVmjieMTSfaS56CejwGB5qVev7jr\/\/AFpP3SpqhXr+46\/\/ANaT90qF7yuy5wUKWFcEQtIfkvR\/r\/vuV0qXSH5L0f6\/77ldJPvMbP8Asw8F7BZVpF51ycta6C2M3b+L\/wCDj\/tWguVay3W6erfwibnHWeA9VU6PoZKe1urJ88tWu5VxPHHR55J8VKOUWyurv1I0\/q\/pp6mgXOangqG7M8Mcrep7Q4dfT3DyXRFWamr6nlrWsaGsaGtHAAYAXpcKuspqGEzVU7IWDpccZ7utZyfVNZcpTTWCifKeBnkG5vhwHj5KSi5FNStCnk9eXE009RDTRGWeVkTBxc92As5V6udUTGlsdI+sm\/xC07I7cfXC+UukHVMvtV9q31kx\/NtcQ0dmePlhaKlo6aii5KlgZCzqY3GVLdj1K\/1qn9V5v4RnItL1dzkZU3+ufK4cII9zW+I+Q8V11RRUtDpWeKlgZCzaZuaMZ5w49asLvqChtDS2V\/KVBHNgZvcerPUsrfBfLjapLjXkUtK0t5OmHF2TgEjx6fIKccUmm9DNW7KnCUYK8rZ8fNlgNSzS0tNbLJAaiqELGulI5sZwM\/8AZ3d6n2fTLaab265Se2Vrt5c\/e1h7M8e\/yVhZKWCltFMIIWRh8TXO2R7xIGSetT1CUrZRNFOi3adR3fDkgiIqzWEREAREQBERAEREAREQBERAEREBl5P6t+EONxOBVU+7PYD\/AMVqFl9W4pLharnuAim2XnsyD\/yWoVk80mZqGU5x638zM6kBob3bbu\/HIxHk35PDP8CfJaVrg5oc0ggjII6VGuNBFcqGWkm3NkGA4cWnrCz9huz7XVfiG6ZY+M4p5Xbg4dA+nklsUeqI37Kq76S9\/wAmqREVZrCIiAIiz+qNQx2qldTQPzWStw3H5sfpH5LsYuTsiupUjTi5SKXV92kuVcyzUIMgY\/nho3uk3jZ7h8e5aqyWplntkdI0hzgS6R4GNpx6fgPBUmj7C6nZ+NKxjxUyZ5MOPBp6T2netWrKjSWFGXZqcpN1p6vToguNXD7TRzwf4sbmeYwuyKo2tXVjPaIm5SwCI8YJXMx1dPzWhWTopXae1TPRVGW0lwftwu6A4nh8vJXN7vUFmonSvcx0xH2cJdvcforJpuWXEy0KihRtJ93J\/QqNRyPu94pbBAeYCJKkg4wPqAc+IWoYxscbWMGGtAAHUFQabt0lJHUXe5Oa2prOe7a3cm3jjPRndu6MBc67VT56g0NipzWTndyo9xv17zgLrTe6uBGE1BOpU1lw424I0FRUwUkJmqZmRRji55wFnZ9U1NwlNNYKJ9Q7gZ5Bhje3H1x3L7TaUkrJW1d+q31c3HkgcMb2f9YWigghpohFBEyKNvBrBgBc3Y9Sf61X+q9fwZyl0k6pn9rvtW+rmO\/k2nDB2fwGFo4IIaaIRQRMijbwawYAXRUV31TSW9\/s1M01lWdwjj3gHtI+A3rl5TdiWGls8cWnuy5nqIaWF008jY42jJc44AWZnv1yvk7qXT8WxENz6uQYx9PUpBYLje5m1WoJiIwdplJGcAd\/V8e1aaCCGmiEUETIo28GsGAF3dj1ZD9St\/WPq\/j3Ki0aYpba\/wBomcaurJyZpOg9g+fFedZ\/k1P\/AJmfvBXqotZAnTVRgcHMz+0Ei25ps7Vpxp0JRirZMs7Z\/dVJ\/oM\/dClKLayDaaMg5BgZ+6FKUHqaId1BERcJBERAEREAREQBERAEREAREQBERAUmr6U1OnZyPehIkHgd\/oSp1mqvbbPSVGcl8Q2u8bj6hSZoWVEEkEgyyRpa4dYIwVnNHSSUprrPPukpZdpoJ4tPV2bs\/rKxZw8DLLcrp8JK31Rp1W3qyU16phHMNmRm+OUDJafmOxWSKCbTujRKMZrDJZGTo71XWCRtBfY3vhB2WVgyQR0dG\/4haenqYKuETU0zJYzwcw5C+zwRVMLoZ42yRuGC1wyCs5NpOopJTNY7jJSZOeRc4lnD+eIKnuy6MzJVaWS3l6r5NOizAq9X0sWJKGnqtke80jJ4dTh28AoF31FqOkp8zUkFG2Q7LXDe\/PZk+uPiEVNt5MS2uMVeUX5Ghvt9p7JS7b8PnePs4s8e09izVgsE97q\/xxdDtRvdtBhG+Q936KnWHTJqmsud7MlRO\/eyKYk7I6NrPHu4fLWLrkoK0dSEacq8lOpkuC+QiIqjcERVl11Bb7ONmol2pcZETN7j9PFdSbyRGU4wV5OyO1ytVJdoBDVx7QactcNzmnsWTkZZLJWbFM2a7XAZaxudoNPUccendvUwxX\/Ux2pHG2UDuDN+28dvSfQK9tlkoLRGG0sI28YMrt73eP0VqeBWbMUouvLFGNur+y+Sjj0\/dr1I2e+1ZjizkU0R+m4epWko6Glt8AhpIGQs6mjj2k8T4qQo9ZXUtvgM9XM2KMdLunuHEqDk5ZGiFKnS3uPNkhV12vtDZ481MuZCObEze5308VSSagu16kdBYqQxxZwamUfXcPUqfatLUtFKKurkdW1h3mSXeAewH4ldwqPeIdtKplSX1en05kAG\/anG7Nst7hx+\/IPj8B3q6tNiobPHimjzIfelfvcfp4KyRcc28loThQjF4pZvm\/tyCIigXhVepYTPp2tYOiPa4fokH5K0XGrh9po54P8AFjczzGF1OzuQqRxQceaIOm5eW07RPznEWz+zu+StFndDz8rp8R53wyubjv53zWiXZq0mQ2eWKlF9EERFEuCIiAIiIAiIgCIiAIiIAiIgCIiALK3+N9nv9Lfo88i8iKpxv3cM47vUBapcauliraWSmnbtRyt2XBSjKzKa1PtI2WqzXie4pY5omyxPD2PGWuacghe1kaGuqdK1Qttya51vc48hU4zjy6OziFqoKiGpibLBI2RjhkOacpKNvAUqyqKzya1R0ReJZooGGSaRkbB957gAs9cNUGaYUFij9rqn7uUAyxg6+3v4Iot6HalWFNbzJ171BTWePY\/tqp4+zhbxOeBPYoFpsNVVVbbrfX8rUDfFCeEW\/Iz9PmpFl02yik9ur3+017yXOe7eGk9Xb2q9UnJRVolUacqjx1dOC+eoREVZqCi19xpLbBy1ZM2JvAZ4uPYOlVN21Oynm9htkftla47OGb2sPbjj\/OVxoNLy1NR7ffpfaZzvEOcsb\/PUN3erFG2cjNKs5PBSV3z4I4vu151C4x2WE0tJnBqZNxPd1eGfBWVq0vQ27E0rfaqonLppd+\/rA+fFXDGMjYGRtDGtGA1owAodwvNvtYHtlSyNx4M4uPgN6Ym8onFSjHfqu766LwJy4VdZTUMJmqp2QsHS44z3dazn9I7reJDFY6DZjzg1E\/AfL49y6U2kDUTiqvda+tm\/QBIYOzPHHkmBLvMdu5\/tK\/XRfk5z6prLlKaawUT5TwM8g3N8OA8fJdaLSjpan2y91RrpuiM+4Pr3cFoYIIaaIRQRMijbwawYAXRMdso5BbPieKq7v08jyxjI2BkbQxrRgNaMAL0iKs1BERAEREAREQGY0hmCru1ERgRVGQDx4uH\/AMhadZeJ3sX4QZmO3NrYAW56SAP+JWoVlTW5m2XKDjybQREVZpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlUU0FXCYamFksZ4teMhUEmjYopXSW24VFAXfoOJ8OIOP4rSIpKTWhVOjTqd5GZZoqCWUSXC4VVY4D7zsd\/WVeUNtorbHydHTshB4kbye8neVKRHOT1ZyFCnB3iswiIolxzmmip4XzTPDI2DLnOO4BZaa43HVMz6a0udS0TCWy1Dhgu7vp5r5q2qbPc6W2VMpp6PdJJJsOJeeoYG\/6r2NTt5NtDp22STbA2WEsIYPXPicK6MWlex59WtGU3BuyXLV\/gurRZKOzQFlO3L3e\/K73nfw7FFueq7ZbssZJ7VNwEcJzv7TwHxUF1gvl3H\/AJe5iKFxyYIBnwPAfFXFvsVttjW+zUrNtv5142n+fR4Ljw3vJ3LI9o1hpxwrr8fJTOk1PfC3koxaqVw94u55Hx9AptBpG20bxNMH1k3EvmORnu+uVeooub0WRZHZ43xT3n1+ND4AAMAYAX1EUDQEREAREQBERAEREAREQGZ1cx1JJQXmJpLqSYB+Olp6z1biP1lpI5GyxtkYcteA4HrBUS7W8XS2T0ZcGmRvNcRnBG8Lpb6V1Fb6eldJyhhjDNrGM4Cm2nFFEYONWT4O3mSURFAvCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDjPSU1Vs+0U8U2ycjlGB2PNdI42RMDI2NY0cA0YARFN90oj+6z0iIoF4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SERVIU II REGION",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MAURICIO ESPINOZA RAMIREZ",
    "correoContacto": "maespinozar@minvu.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "TRASLADO PLOTTER 3ER PISO AL 5TO PISO.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56553280913",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:05",
    "ubicacionGPS": "LatLng(lat: -23.6463243, lng: -70.3994576)",
    "horaLlegada": "15:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "17",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 16:05:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61814000

[10/06/2026 16:05:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61814000', 'EP3086', 1, 24456550, 50, NOW(), 
				'08:00', '15:38', '16:05', 17, '•Se cambia ubicación del plotter del piso 3 al piso 5, recepciona Genesis
•No se configura internet', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781121919.png', '•50 hojas A0', null, 'COMPLETADO','LatLng(lat: -23.6463243, lng: -70.3994576)' )
				
[10/06/2026 16:05:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200678

10/06/2026 16:05:19 actualizarUbicacionClienteMaquina sql: 
				UPDATE clientemaquina
				SET ubicacion = 'JORGE WASHINGTON 2551',
				    ciudad = 'ANTOFAGASTA',
				    departamento = 'Piso 5, pasillo'
				WHERE clientemaquina.serieintmaquina = 'EP3086'
					AND clientemaquina.estado= 1 
					AND clientemaquina.rutcliente = '61814000'
		
10/06/2026 16:05:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200678'                    
				WHERE idllamado = 12984			
				TO ENVIO: micorreo@miempresa.cl, maespinozar@minvu.cl


10/06/2026 16:05:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12984			
				
10/06/2026 16:05:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 16:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12984
            GROUP BY l.idllamado;
            

10/06/2026 16:05:26 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

[10/06/2026 16:05:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:26 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 16:05:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12984
                

10/06/2026 16:05:49 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 16:05:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 16:05:49 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 16:05:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 16:05:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 16:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 16:05:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 16:05:53 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 16:05:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:53 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 16:05:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:05:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:05:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 16:31:21 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:24 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 16:31:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 16:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:33 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:33 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 16:31:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:35 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:35 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:35 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:36 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:36 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[10/06/2026 16:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:37 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

[10/06/2026 16:31:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:37 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 16:31:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:42 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:42 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

[10/06/2026 16:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 16:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 16:31:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 16:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 16:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:43 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:43 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 16:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:02 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:33:02 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[10/06/2026 16:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 16:33:02 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 16:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 16:38:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
10/06/2026 16:38:50 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

[10/06/2026 16:38:50] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:51 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12955
            GROUP BY l.idllamado;
            

10/06/2026 16:38:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:51 - INPUT: {"rutTecnico":"7373114"}
[10/06/2026 16:38:51] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 16:38:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 16:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 16:38:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12955
                

10/06/2026 17:12:11 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 17:12:11] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:12:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 17:12:11] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 17:12:11 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:13 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:12:13 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:12:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:46:03 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 17:46:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:46:03 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)
[10/06/2026 17:46:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 17:46:13 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 17:46:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:46:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)

10/06/2026 17:46:15 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:18 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 17:46:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:46:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)

10/06/2026 17:46:18 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 17:46:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 17:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 17:46:23 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:23 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 17:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 17:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:41 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 17:46:41 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 17:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 17:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 17:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 17:46:46 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 17:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:46:47 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:46:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:46:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:47:10 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 17:47:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

10/06/2026 17:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:47:10 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:47:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:47:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

10/06/2026 17:47:24 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 17:47:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:47:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)
[10/06/2026 17:47:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 17:47:25 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[10/06/2026 17:47:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 17:47:36 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 17:47:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 17:47:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)

10/06/2026 17:47:39 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:44 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:44] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:45 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:49 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:49 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 17:47:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/06/2026 17:47:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:50 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:50 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:52 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 17:47:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:47:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:47:52 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 17:47:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[10/06/2026 17:47:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:47:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:48:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:52:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:46 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:52:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:57 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:57 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:57 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:00 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:00 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:01 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:01 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[10/06/2026 17:53:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:03 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:03 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:04 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:06 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:53:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:06 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:53:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:06 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:08 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:13 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:53:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:13 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:13 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[10/06/2026 17:53:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:42 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

[10/06/2026 17:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:46 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:53:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:49 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:49 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:49 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:52 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:53:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:53:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:53:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:53:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:53:59 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:59 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[10/06/2026 17:53:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:59 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:53:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:53:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:08 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:09 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:09 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:26 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:26 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:54:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:35 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:54:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:54:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:54:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:05 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:05 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:06 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:09 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:09 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[10/06/2026 17:55:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:09 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:15 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:15 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[10/06/2026 17:55:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:16 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[10/06/2026 17:55:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:18 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[10/06/2026 17:55:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:25 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[10/06/2026 17:55:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:31 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:31 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[10/06/2026 17:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:55:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[10/06/2026 17:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:55:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:49 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[10/06/2026 17:55:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:49 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[10/06/2026 17:55:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:49 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:49 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:52 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:55:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:54 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:54 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:55:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:55:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:55 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:55:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:55:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:56 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:55:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:55:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:16 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:56:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:56:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:16 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:17 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:56:18 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:56:32 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:56:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:56:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:19 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:19 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[10/06/2026 17:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:19 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:20 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[10/06/2026 17:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:25 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:28 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:29 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:58:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[10/06/2026 17:58:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:29 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:58:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:30 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:31 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:36 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[10/06/2026 17:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:36 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:37 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:37 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

[10/06/2026 17:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:42 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

[10/06/2026 17:58:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:58:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

10/06/2026 17:58:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

10/06/2026 17:58:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:43 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

[10/06/2026 17:58:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:58:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

10/06/2026 17:58:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

10/06/2026 17:58:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:48 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:58:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:48 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

[10/06/2026 17:58:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:50 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:50 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 17:58:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:54 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 17:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 17:58:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:54 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 17:58:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:58:55 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[10/06/2026 17:58:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:58:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:58:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:55 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[10/06/2026 17:58:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:58:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[10/06/2026 17:59:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:12 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:59:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

10/06/2026 17:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:13 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:13 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:14 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:21 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:21 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:59:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[10/06/2026 17:59:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 17:59:21 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 17:59:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:23 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:23 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:23 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 17:59:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 17:59:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 17:59:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

[10/06/2026 17:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 17:59:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 17:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

[10/06/2026 17:59:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 17:59:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 17:59:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:48 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 17:59:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 17:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 17:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 17:59:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:34 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:35 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:36 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 18:01:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 18:01:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)
[10/06/2026 18:01:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 18:01:36 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:36] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:41 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 18:01:41] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[10/06/2026 18:01:41] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 18:01:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

)

10/06/2026 18:01:41 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:41] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:01:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:01:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:01:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:01:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:45 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 18:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

[10/06/2026 18:01:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:45 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:45] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:48 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:48 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:01:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:51 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 18:01:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[10/06/2026 18:01:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 18:01:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 18:01:52 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:55 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:01:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 18:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:57 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:57 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:57 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:01:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:01:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:01:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12974
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 13:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2490
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                
=========================================
FECHA: 10/06/2026 18:02:19
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-kKVnZJ4RAZRUIOOprjJXdiLQyLzDTIKXekM8IF.xL42XXIs-0xJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "79783050",
    "serieinterna": "KY2490",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega de toner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12974",
    "observacion": "•Llamado duplicado",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClANIDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABCEAABAwMCAgYHBQUGBwAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscEVM6LR8BYjQmLhByRDcpLSNFJTVWSCwv\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMGBQMEAwEAAAAAAAABAgMREiExBBMyQVGhImFxkdEUgcEjM7HhJEJT8P\/aAAwDAQACEQMRAD8A\/Zl8c4NaXOIAAySepYaysgoKSSqqX8EcYyT9ApZjLnrCTjlL6K1A7Nb7Uv5\/Id6tGN83oYVK2B4UryfI6NbrC3U7xFSh9bM44DYRt7\/yytcXDVdwx6PboaJhHtTHceR3+C7tDbKO3M4aWnZHnm7GXO8TzK2lbFFaIpuqs+OdvJfOpMfZmrZPvL1A3q9RvV\/pCCy6lbu2\/Akcst2+Sp0UY2T9NHq\/dkrJcdTWZvT3CCGspm7PfFgEDPPq+S71sutLd6UVFK8kZw5rtnNPYQtxSl7oZrBVfblqAawnFTB\/C4E88frClWnloyslOh4rtx531XmVaLBR1cVdRxVUJyyVocO7uWdZnUmmroIiISEREAREQBERAEREAREQBERAEREAREQEtduK9aqgtDifRqYCaZo34jjIzt3geap2taxgYxoa1owABgAKbt2IdeXGNwBdJCHNdjfHq7frsVMtJ8kcuz5uUnrd9giIszqCIiALxLFHPC+GVgfG8FrmnkQvaINSY0m80dbcrM4nFPKXxZz7J2\/2+8qnUxMBT\/2iQcIx6TTHix14Dv8AYFTq89b9Tm2bKLh0bQREVDpCIiAIi0LdeKS6S1EVO4l9O7heCMdZAI9ymzKuSTSb1N9ERQWCIiAIiIAiIgCIiAIiICW1EXWe+UV8awui+6mA7MbfDPuVOx7ZI2yMcHNcAWkdYWC4UMVyoZaSYepIOfYeoqfs1xqLHViyXcgM5U0\/8Lh2Z\/WOS04o+aOS+5qu\/DLs\/wCypREWZ1hERAEREBMXj1Na2h\/PLS3Hv\/NU6mLx+81raI2+01pcfDf8iqdXnojmocdT1\/CCIiodIREQHmR7Yo3SO9lgJPgFC6Hqi++1YOwniL8Dt4h+ZVPqarFHp+rfkhz2dG3A63bfmpq3UxtF8sbnN4W1NNh3P2ncRx+Jq2gvAzztpk9\/C3L8uxdIiLE9EIiIAiIgCIiAIiIAiIgC07na6W7Upp6pmRnLXDm09oW4ilO2aIlFSVnoSXpt\/wBNAMrIftChYABMz2mDx7u\/3qgt94oLnGHUlSx5PNhOHDyO63CARgjIK4dx0lba5\/Sxh1LMDnjh2yc53Hmr3jLXI5sFWlwO66P8P5O6iluDVVmLuB7LrTjGOL28fPPmVkZrajY7graOppXd7cj6H4KMD5ZkraYLKfhfn86FKi5lLqOz1ZAir4g48mvPAfDfC6LXNe0OY4OaeRByCqtNam8Zxlwu5NSHp\/7RIv8Ax6b5g\/7lTqX08XV+prtc+HDAehbvzAx1eDR71UK89UjDZs4yl1bCIizOkIiICX1WPtC52yztP3snSSD+UbdXdxL3rWBzLfS10QAfRzAjuB\/qGrHYCbvqSvvDmjoov3MBz8fcPxLuXij9PtFVTBvE58Z4R\/MNx8QFtfC0uh56hvadSa56fbTubMMrZ4I5mezI0OHgRlZFw9IVnpdgiY726cmJ22OXL4ELuLKSs7HZSnjgpdQiIoNAiIgCIiAIiIAiIgCIiAIiIAvL42St4ZGNe3scMhekQHJqdL2aqB4qGOMnriyzHkNlw7vpajtNBUV9LWVUHRtyGh\/M5wBnnzIVkpfVMhuFyoLHDI5rpZBJKW\/wt6vhk+QWsJSva5xbTSpKDlhV+XqaFlst\/gtUdRbrjHAJh0ghe3bfr3B6gF0BNrOEf8NST47wM\/EKla1rGBjRhrRgDsC9KHUu80WjsqjFJSa+5MfbGqY9pbHG4\/yO\/qU\/ai5xDNRpyqa0blzeIgD\/AEqnRRiXQtuai0qPt8EwNc0TDw1NFVwu7OEH5kLzctZW2W11DKSV\/TvYWsDozzO2exVBAIwRkFSdxggu2qqa3QU8XQUeJKlzWDDjz4SQP1kq8cLehjW38I2xJ3y0\/syaau9lt1mhp3VsbJSC+XII9Y+XUMDyXaZfbS8ZFypR\/mlaPmvL9P2d\/O2043zswD5LA\/SdjecmgaP8sjx8iqtwbvmaQjtEIqKw5epybTUU1q1bVUcUjDS1oEkTmuBaCATz6t+Ie5VoIIyDkFRWptL0VutvplFE8dG8dI0vJHCdvnhbVLpGiqKaKsoLjVwiZgcDxA425bY5fRWkoyWK5jSnVpt08N+evJlYilxp6\/0wxTahe8dQlB+pK+ih1lH7N0pJAOQLRk\/g+qrgXJnRv5rWm+z\/ACU6KYP7Zx9dJLjw3+Senaxj9q1UsgHW1wyfx\/RRg80PqVzjL2KdFMfbGqWbvscZH8rv6lPtzUn\/AGD8RTdsfUw6P2ZTopg6oulNtWafqGjrewnHy+qyRa4tbiWVEVRTvHMPZnfyOfgm7kFtVHm7euRRosMVXTzRMljmY5j2hzTnmDyRUsdF0ZkREJCIiAIiIDDV1cNDSSVU7uGOMZccZU\/piGouFZUX+tZwvn9SFuPZYMbj5e\/tWG8TP1Feo7JTOPosDuKqkaDsRnb6eJ7lUxRMhiZFG0NYxoa1o6gOQWnDHzZyL9arf\/WPd\/0e0RFmdYREQGrca1lut09W\/lEzPieoe\/C5Gj6J0dufcJ8OqK15kLsb48e85PmsGq5HV9bQWKEnineHykdTR+ifJUsUTIYmRRtDWMaGtaOoDkFppH1OVfqV2+Uf5Z7REWZ1GOeGOpgkglbxRyNLXDtBUzp6tks1c7TtfgYcTTS8g8E5x57nx2VUuXfLLFeaUNz0dRFvDKNuE\/krxa0ehz1oSupw1XddDqIp2xX2Z1QbTdh0VdFs1zuUv9fmqJVlFxdmaU6kakboIiKDQIiIAsc0ENQzgmiZK3se0EfFZEQNXPLWtYwMY0Na0YAAwAEXpEAREQBERAFx9SXf7KtxERzUz5ZC0ZznrIx2Z+S6dRURUlO+oneGRxjLnFTNlhm1BeHX2qaW00R4aWIu5EY3+fn4K8Fzehz15vKnDifZdTqads4tNvxJ61VN6878k5O+B5Z+a66Iqttu7NYQUIqMdEERFBcIi1rjU+h22pqc4MUTnDxxt8UWZDaSuyesGbpqe5XV27Ij0MXreXLwHxVUuBoqmNPp1jyMGeR0m\/u\/+V31epxHPsqtSTerz9wiIqHSEREBzL3Y4LzTgOPRVEe8UzRu0\/kuPS3+rsVR9n6gD3N\/wqtoyHDv7fmqtYqimgq4TDUwsljPNrxkK6llZ6HPUotyxwdpdn6inqYaqETU8rJY3cnNOQsqmpdNVVtkdUafrXQEnLqaU8THfrv94Xn9ramhcI7xaJoHDZ0ke7Se7O3xKnBfhI+owZVVb+P\/AHqU6Ll0epLRW4EdbG1x24ZTwHPnz8l0mua9ocxwc08iDkFUaa1N4zjNXi7npERQWCIiAIiIAvjnBrS5xAAGST1L6pS+1098rTYbWdmn+9S9TQOY9\/Pv27VaMcTMqtVU431fJdTxK+XV93dTRPc200p9dzduld+vhv1qqhhjp4WQwsDI2DDWtGwCx0NFBbqRlLTM4Y2DHeT2nvWwplK+S0K0aTjeUs5PX49AiIqG4REQBa1womXGglpJHuY2UYLm8xutlEWRDSaszBR0sdDRw0sWSyJgaCeZx1rOsc9RDTRmSeVkTAMlz3YC4lXrG2QP6Km6StmJwGwt2J8T9Mqyi5aGcqlOkrSdjvopX07VV2OKWkZboSR68o9bGO\/n5Beho+eqw653ionJG7WbAdXM5+StgS1Zlv5S\/bg365HenudBTff1sEZ7HSAFc2o1jZaflUumPZGwn4nAXiDRdlhHrwyTntkkP0wunTWi3UmOgoYGEcnBgz7+aeBE\/wCRLovd\/BxBrmkkz0FBVydnqj6Ep+11Y\/7rT1Y8n2ee\/wCFU6KMUeg3db\/p2RMftHfH\/d6bnbnlxF234QvjrlqyZpayyU4DhuJHDl2buCqETEug3E3rUfb4ISq09e7gSJbXb4HOOTJHhpz5H6Ls6WsFZZTM6pna5sgHDGxxIB6zjllUSKXUbVisNkpwnjzuERFmdYREQBEWldbpT2iidU1B25NaObz2BSlfJESkoq70NDUt4fQ07KOj4nV9V6sQaMlozjP0H9Fn0\/Zo7PbwzGaiUB07zvl3ZnsG65+nLXUVFQ++XVpNVKcwtd\/ht8Oru7vFUqvJ2WFHNSi6kt7L7LovlhERZnUEReXvZGwvkcGNaMlzjgBAel5e9kbC+RwY1oyXOOAFN1mrHTzmksdK6tm\/6mDwN\/Px2C8xaauF0Ilv9xkeNiKeE4aPHq9w81pgtxZHM9oxO1JYv49zZrNY2yB4ipukrZnbNbC3bPj+WVqdPqq84MMTLZTubzefWP1HuC71FaqC3DFJSRxHGOIDLj\/7HdbiYorREbqpP9yX2WXfUmoNF0z5emudZPXSk5OXFrT9fiu5SW6ioG8NLTRwjrLW7nzWyiq5SerNYUadPhQREVTUIiIAiIgCIiAIiIAiIgCIiA8uc1jC9xw1oyT2BSdLE\/Vl7NdM14tlIcQNcMcbts+W2T5BbesaxzaGG2wu\/f1sgYAP+XP54HvXboKKK30MNJD7ETeHPaes+ZyVovDG\/NnJNb2pg5R19eS\/JsIiLM6wiIgORe9QU9oDYg0z1cn3cDOZ3xv2fVctliut+kbUXypMMGctpIjyHf2fE+C7jLLRNuz7p0ZdUvAGXHIbtjIHVst9aYlFeE5nRlUk948uS+TXo6Glt8AgpIWxRjqb1+J5lbCIszoSSVkEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDnS2WmmvcV1e57pYmcLWE5aOw\/ErooiltsrGKjey1CIigsEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL MAGISTER LTDA.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "KENIA DIAZ",
    "correoContacto": "kenia.diaz@hssanesteban.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28976\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "18:02",
    "ubicacionGPS": "LatLng(lat: -23.6618407, lng: -70.3999694)",
    "horaLlegada": "18:01",
    "horaDespacho": "11:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 18:02:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:79783050

[10/06/2026 18:02:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('79783050', 'KY2490', 1, 24456550, 0, NOW(), 
				'11:00', '18:01', '18:02', 10, '•Entrega de toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781128939.png', '•Llamado duplicado', null, 'COMPLETADO','LatLng(lat: -23.6618407, lng: -70.3999694)' )
				
[10/06/2026 18:02:19] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200679
[10/06/2026 18:02:19] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200679', 'KYO-I647', 1)
				
[10/06/2026 18:02:19] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28976 and
				    IDproducto = 'KYO-I647'
				

10/06/2026 18:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:19 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
10/06/2026 18:02:19 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200679'                    
				WHERE idllamado = 12974			
				TO ENVIO: micorreo@miempresa.cl, kenia.diaz@hssanesteban.cl


10/06/2026 18:02:19 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12974			
				
10/06/2026 18:02:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 18:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:46 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:46 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:02:46 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12974
            GROUP BY l.idllamado;
            

10/06/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12974
                

10/06/2026 18:02:50 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 18:02:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 18:02:50 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

)
[10/06/2026 18:02:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 18:02:50 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:02:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:02:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:40 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

10/06/2026 18:04:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

10/06/2026 18:04:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:46 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:04:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[10/06/2026 18:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:46 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
10/06/2026 18:04:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

10/06/2026 18:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

10/06/2026 18:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:53 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:04:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[10/06/2026 18:04:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

10/06/2026 18:04:53 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

10/06/2026 18:04:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:04:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:04:55 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:04:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:04:55 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:04:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 18:04:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:04:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:04:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:04:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:04:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:04:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:10 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:10 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:05:10 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 18:05:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:05:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 18:05:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:05:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:05:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:05:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:06:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:07:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:07:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:27 - INPUT: {"rutTecnico":"21773342"}[10/06/2026 18:08:27] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 18:08:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 05/06/2026
        )

)
[10/06/2026 18:08:27] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 18:08:31 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:08:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:08:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:08:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:08:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:47 - INPUT: {"rutTecnico":"19969062"}
10/06/2026 18:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

[10/06/2026 18:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:47 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:08:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12987
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 16:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:08:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:08:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:08:59 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:08:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:08:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:44 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:09:44] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:09:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:49 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:09:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:09:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:09:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:09:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:09:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:04 - INPUT: {"rutTecnico":"24456550"}[10/06/2026 18:10:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 18:10:04 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => C879R
            [FechaLlamado] => 10/06/2026
        )

)
[10/06/2026 18:10:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

10/06/2026 18:10:08 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 - INPUT: {"rutTecnico":"24456550"}
10/06/2026 18:10:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[10/06/2026 18:10:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:15 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:15 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:15 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12993
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:31 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:10:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12952
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => SERVICIO TECNICO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 09:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500ifx
            [SerieInternaMaquina] => KY2715
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            
=========================================
FECHA: 10/06/2026 18:10:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sd00Lp04b_C2JKJyT4JpDX2hAGtjXcbd8ClgEGLXLfUpTWFe+UG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "EP2774",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "16051",
    "contadorColor": "61793",
    "contadorScanner": "0",
    "detalle": "•Se hace mantención\n•Se limpian rodillos de alimentación de ADF, bandeja, y dúplex\n•Se limpia guía de cabezal\n•Se limpia escáner\n•Se reemplaza rodillo de alimentación de bandeja 1\n•Se renueva etiqueta de serie\n\n::Nivel de consumibles\nK ≈ 80%\nY ≈ 10% [!]\nM ≈ 80%\nC ≈ 10% [!]\nMantención ≈ 99%",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12993",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADBANsDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABJEAACAQMBAwgHBAMNCQAAAAAAAQIDBAURBiExEhMiQVFhkbEVMnGBocHRBxQjQkOS8BYkNDdSVWJ0orLC0uElM0dTcoST4vH\/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAgQDAf\/EADIRAAIBAgMECAYCAwAAAAAAAAABAgMREiExBEFRcRMiMmGBkcHRFEJyobHhIzMkUvD\/2gAMAwEAAhEDEQA\/AP7MAAAAAAAAAAAAAfmc404SnN6Rim2+xAGRtDnVh6FOFGnz13XelKnx9\/7cTh+5bXRSuPSFvKppvo6dHy7\/AIH42chLNZS6zl1SjyVPkWylHfFL6LTf26lUdW8GRjhF1+u20t1svExMHtCsjVnZXlJW1\/S9am9yl26am2YG02Gnc045Kw\/Dv7XpKUeM0ur29ngd+EytPMY2F1HRT9WpBflkv2195MkmsSLpTlGXRz13Pivc0AAQaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYO2F5O2wroUW+dupqkkuLT4\/T3m8S+YXpHbLG2PrU7aPPTT4a8ff6sfEuC61zPtLap2Wry8zdxdksbjLezTT5qCTaWmr4t+Op1gEN3O8UopJAk6cf3NbUuOjjj8jwenRhPXh4\/B9xWGXtDi1lsRVoJfiwXLpP+kur38PeXB2dnozjXg3HFHVZr28TUBi7LZR5PEQVR\/j2\/4dTXi9OD96+OptEtWdjpTmpxUlvAAPCwAAAAAAAAAAAAAAAAAAAAAAAAAAATGF\/fW2WXuWuVzSVJPqW\/T\/AA+ZTNpLVvRImdiY87b3981o7i5fHju3\/wCJlx7LZmq51YR5vyX7KcAEGkAAAl7b\/ZO3Fa3XRoZCnzkEl+br9m9S8UVBMbaU6lCnY5WitZ2lZa+x71r3arT3lJSqRrUoVYPWM4qUX3M6SzSZlodWc6fB38\/2fsAHM1AAAAAAAAAAAAAAAAAAAAAAAAAAAHLlKqo4q7qv8lCb\/sszNjKXNbN0JaaOpKcvi18j22qqOls1eSS11jGPjJL5nvgKfNYCxj20Iy8Vr8y\/k8TM89oXcvy\/0aAAINIAABl7SUVX2evYta8mk5rdr6u\/5HzZmt942dsp9kOT+q2vkdeUSeJvE1qnQn\/dZmbGtvZq316pTS\/WZfyeJmeW0LvXqboAINIAAAAAAAAAAAAAAAAAAAAAAAAAABP7bT5OzlRbulUgvjr8jYsYc3j7aG\/o0orf7EYO3jfoahTj607mK07ejL\/QpYpRiorcktEW+wjNDOvPkvU+gAg0gAAHBnavMYK9qLjzEkva1p8zm2Uo8zs3aLi5KUn75NnNtrcunhFbQ1c7qrGCS60t\/wAl4mzY2ys7Chap68zTjDXXjojppAzLrbQ+5fk6AAczSAAAAAAAAAAAAAAAAAAAAAAAAAAATG2XTqYqj\/LuVufDqXzKcmNpfxNosFSXGNZz\/tR+hTly7KM1L+2o+X4AAINIAPzOcacJTm9IxTbfYgCYvtclt1aWvGnYw52XHdLj\/kKkl9kIyvLjI5ipHfc1eTDVaaJb35pe4qDpPJ24GbZs4up\/s7+wABzNIAAAAAAAAAAMvN5ujhrdNrnLipupUVxk\/oepNuyJnOMI4paHltDno4ehCnRhzt5X3Uqa3+9r9tTrxnpF46i7+VNXLWs0o8N+7g+zQzMDgq0Lh5fLSdS\/q74xf6JfXTwKEqVlkjjSxzeOWS3L37wACDQAAAAAAAAATGW\/F25xNH+TTc\/73+UpyYvv4xMb\/Vn5VCnLnouRmodqb7\/RAAEGkGHtdeu1wVSnDfVuWqMIrXV68eHd5m4SlSDz+2XJesrTGLpJ8HPXh72vCJcFnd7jPtEngwx1lkbuFsfR2HtrVrSUIJz\/AOp738WdwBLd3c7RioxUVuAAPCgAAAAAAAcOWytviLKVzcS38IQ13zfYj1K+SJlJRV3oeWczdvhbN1ajUq001Spdcn9DPwGGr1Lj01lnzl3VWtOElupLq3dT7ur2nlhsTc5O+WczMU5tfveg1ugup6eS95UFtqKsjNCLrS6Sem5erAAOZrAAAAOe5yFnZ\/wm6o0WtN05pPeZ09rcFCXJd+m+6nN+SPVFvRHOVWnHtSS8TZBkQ2qwdRrTIQWr0XKjJeaO62yNleJfdrujVb6oTTfgHFrVCNWEuzJM6QAeHQmL7+MTG\/1Z+VQpyYuun9olnr+S2enhP6lOXPdyM2z6z+r0QABBpM\/N5FYvE17pNKajpT1WvSfA49k8bOww8albV17p87PV71rwXhv95xZjlZ3aS3xENXbWmlW4em5vqXBrh5sqTo8o24mWH8lZz3RyXPf7AAHM1AAAAAAAA4MtmLXD2rrXEtZPdCnH1pvu+p6k3kiZSUVeTyP3lMpb4myldXD3LdGKe+b7EYWIxlzmbxZrMQ6PG2t3wiu3T9tePYfmww95nryGVzi0orfQtepLitV2fF+wqy21FWWpmjF15Y5K0VouPe\/QAA5msAAAzMxnbTDUVKtyqlWe6FKHFvv7P24mNCntNn3y6lX0VayW6KXTa8\/I\/V5CGN22o3d3TVWleRUKU2tebnuS+XiVR1uopWMaUq0pKTsk9F6k9abFYmgta8al1Ua3yqSaWvbov9TShg8TCPJWNtWu+jF+aO8EOcnqztGhSirKKM+WBxE9dcbbb+yml5HBc7FYa4bcKdWg3\/yqn11N8BTkt4lQpS1iiXWzGVs9PR+erRiluhV1aXxa+B8nkNqcTHlXdnRv6UeM6O5\/D6FSCsbequc\/hkuw2vH0ZE2uZtchtrb3jbtoxounJVmo6S0e74lrGSlFSi001qmuskL7H22S26nbXVPlU522r0ej103PVHutmcniny8LlZclb+Yr+q+7s+C+lSUXbOxwozqwxZYld6a+RUnnWqwt6FStUekKcXKT7ktSap7UZDHyjTzmLqUo8HXpLVcdOHDwfuPud2gs77Z6rDH11VrV9IKmtVNLr6PHgmT0bud3tVPC2nmtz1P1sZSlWo3uVqr8S8rvTXsW\/wA2\/ApjjxVksfi7a0XGnBKXDjxfx1OwmbvJs6UIYKai9QACTsAAAAfG0lq3okTOR2juL26eN2fhz9Z7p3C3xh3p8Pfw7NSoxctDlUqxpq7O\/N7RW2HjzUVz13NdCjHv4a9hxYnZ6tcXKy2clz11LfCi98aa6tV3dnBe068Js5QxetxWl95vJ751Z79H16a+fE2inJRVonKNOVR46vgvfiwADmagAAAAADL2gxPpfFyoQelaD5yk9dOkjw2ZzEsjaO3utY3tt0asZcZf0tPPvNsns9gq07hZfEydO\/pb5RX6VfXTxOkWmsLM1WMoS6WGfFcV7ooQZWCzlLM2zbjzVzS3VaT4p9q7jVIaadmd4TjOKlHQAA8KAAAJj\/iJ\/wBt8inJil0\/tEra\/ktt3gvqU5c93IzbP8\/1M+SipRcZJNNaNPrMW92SxV2+XTpO1qrhOg+To+p6cDbBKk1odp04TVpK5LLGbUYuKVlkad7TitFTrcfj9T69qcjYPTLYWrTS41aT1j9O3r7PaVALx31Rw+Hcf65tfdfcx7bavC3Kel5Gm11VU4+e46PT+I\/nK2\/8iPlzgcTdy5dawouXbGPJb8Dx\/crg\/wCb4frS+p51O89\/yVw+56PaTDJ6ekaO7vM652ztXVjQxltVv60nolFOK8tX4GgtmsKlp6Oo7vad9C2oWsXGhRhSUnq1FaavtYvBDDtEsm0uX7JieM2lziccjcwsrWT6VGno217vmyhx2MtMVbKhaUlCP5nxcn2t9Z1g8cm8i6dCMHi1fFgAEnYAAAAAAAAAAAAms5i7myyMc9i1rVh\/CKXVOPW9F3cfE7sXtLjso1ThV5mvw5mrulr3dT8zXMjK7M43LcqdSlzVd\/paW5t9\/U\/edFJNWkZZU5wk5Ut+q9jXBJfeM3ssuTcxeSsE91Va8uC7+Oi7n4oosflLPKUOetKyqR4NcHF96JcWs9xdOtGbwvJ8H\/2Z1gAk7kx\/uftE7eftvDd\/6lOTFfpfaHb6L1bV66eyX1Kcue7kZtn+f6mAAQaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5KKlFxkk01o0+sm8ps5K1qrJ4Jfd7qlvdKPq1F1pLq9nApQVGTjoc6lKNRWZjYPaKhl06FSPMXlPdOjLdrpxa+nFGyY2b2btcv+PFuhdxXQqw3avq5Xb5mbDMbQYlTtL7HTv6iX4delrpLs4Lf8GVhUs4nBVZ0squa4r1PS0f3r7QLupH1bago6rrfR3fF+BTmJs3jK9nTuLy+jFXl3UcqmnUtXu\/+dxtnk3nkXs8WoXerbfmAAQaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "BRANDON MORALES",
    "correoContacto": "brandon.morales@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:11",
    "ubicacionGPS": "LatLng(lat: -23.6618288, lng: -70.3999655)",
    "horaLlegada": "18:00",
    "horaDespacho": "18:02",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 18:10:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/06/2026 18:10:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'EP2774', 2, 24456550, 16051, NOW(), 
				'18:02', '18:00', '18:11', 5, '•Se hace mantención
•Se limpian rodillos de alimentación de ADF, bandeja, y dúplex
•Se limpia guía de cabezal
•Se limpia escáner
•Se reemplaza rodillo de alimentación de bandeja 1
•Se renueva etiqueta de serie

::Nivel de consumibles
K ≈ 80%
Y ≈ 10% [!]
M ≈ 80%
C ≈ 10% [!]
Mantención ≈ 99%', -1, 
				'', '','1','61793',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781129450.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618288, lng: -70.3999655)' )
				
[10/06/2026 18:10:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200680

10/06/2026 18:10:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200680'                    
				WHERE idllamado = 12993			
				
10/06/2026 18:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                
TO ENVIO: micorreo@miempresa.cl, brandon.morales@eplicancabur.cl


10/06/2026 18:10:50 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12993			
				
10/06/2026 18:10:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 18:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:52 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:52 - INPUT: {"rutTecnico":"24456550"}
[10/06/2026 18:10:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:10:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12993
            GROUP BY l.idllamado;
            

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12993
                

10/06/2026 18:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                
=========================================
FECHA: 10/06/2026 18:11:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uHkaDdW9Y8EwCIXRNTXwd1qFuFJ.ZWd69vMiee7rxzOzn.mff8z
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2151",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "126738",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realizo mantencion general\n1 rgom 2758\n1 rgom 2759\nFirmado  por Williams Arevalo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12987",
    "observacion": "Se realizo mantencion general\n1 rgom 2758\n1 rgom 2759\nFirmado  por Williams Arevalo",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADcAL8DASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABCEAABAwMBBQUFBgIIBwEAAAABAAIDBAURIQYSMUFREyJhcYEykaGx0RQVIyTB8ELhBzNSYqLC0vE0REVTcoKS4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgMFBwQDAQAAAAAAAAABAgMREiExBCJBUWETMnGRobHRI4HB8BRi4TP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBEWNtTcJLdY5JIXBskjhG0k8M6n4ArqV3YhUmoRcnwOF12ngoqkUVHC6urCcdlGfZ8zg6+C8TG7XXR2+58NtiI0bgZPzI9cLTsFkp7PRM3Y\/zD2DtZDxJ5jwC1lPElkkZ1SqVM6krdF86kx9z7UR96O+sc7o9unyK+Gr2rtetTSRXKPm6HR3uAB\/w\/zqEXMfNEv46Xdk19\/kxLXtTRXKpFI+OSlqSNI5RjJ6A\/XC21mXuxU96pw2Q9lMzWOZoyW\/ULLtV2rLXXNs97dvOccQVJJIf0yTx8+K7hUleJxVJ05Yauj0fyU6IirNQREQBERAEREAREQBERAEREAREQBTG3OtupGkZBqhn3FU6nNt4nOsTZmnBhma7OeWo+ZCnT7yM21L6MijRddPKJ6aKYcJGBw9RldigaU75hERAFk7RWht2tjmNH5iLL4XDjvdPVayLqdndEJwU4uMtGZOzdzddLPFJLnto\/w5c8yOfqPjlaymNmG\/Z77e6XkJQ5o8Mu+oVOpTVpZFezycqSvrp5ZBERQLwiIgCIiAIiIAiIgCIiAIiIAs6\/0xqrFWRAZPZlwHUt72PgtFfCARgjIK6nZ3Izjii4viZOy1UKrZ2kdvAujb2bgOW7oPhha6mNjiaWa5WpzsmmnJb4jh\/lHvVOpTVpMq2aWKlG\/h5ZBERQLwiIgJixa7X3kjUAgZ9VTqY2N\/Gmu1cDltRU6HkcZP8AmVOp1O8Ztl\/5X5t+4REUDSEREAREQBERAEREAREQBERAEREBLtBoP6QjybXQaa6ZA+rPiqhTG1n5Kutd2AO7BNuyYGpadfkHe9UwIIyDkFWTzSZmobs5w638z6iIqzSFnX+sbQ2SqnJAPZlrc83HQfNaKldpJH3W9Udihzu7wkqDrjHT3ZPqFOCuyjaJuFN21eS8WaWytJ9j2dpgRh0o7U+O9qPhhbC+NaGtDWgAAYAHJfVFu7uWU4KEFFcAiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgMvaOh+8LFUwhuXtb2jNMnebrp58PVcdmKw1tgpnuIL2N7N2P7unywtZS+yx+w3e62k4a2OXtY2g\/w8PluqxZwaMs9yvGXPL8r8lQiIqzUeO7XBlrtk1Y\/BLG91p\/iceA96ytlrbMxkt2rR+brSXEEYLG5zj10PuXjna\/anaTsP+nW93eONJHaZHrj3DxVYAAMAYAVj3Y24syQ+rUx8Fp48WfURFWawiIgOueeKmgfPM8MjjG85x5BYez10uN5ramsc0R28dyJhbqT1z5cfReGslk2rvIoacvFtpXZneDgPP7GnqVVQwx08LIYWBkbBhrWjQBWNKKs9TLGUqs7xe6vV\/B2IiKs1BERAEREAREQBERAEREAUvcT927cUVWe7FWR9k4nmeH+lVCnttKZ8lnbVRHElJKJA4HBA4aeuPcp09bczNtKfZ4lqs\/IoVPbT3eSFrLTQgPrKzuYB9hp0z4E5+ZXoq9o6elsEVyO6XzxgxxZ9p3Meh4rz7M2qZrpLxcATW1eu64Y7Nv6Z08guxVt5kalR1GqdN66vkv8ATRslqjs9tZStIc\/2pHgY3nH949FoIig3d3ZpjFRiorRBERcJBYG1N0kghZbKPvVtZ3Q0Zy1pyM\/vxWjd7rT2ihfUTuGcYjZze7osnZu1zzSm+XTedWS57JrtOzbjpy5+nmrIq28zLWk5PsoavXov3Q1bNa4rRbo6aMAuxmR4\/jdzK96IoN3d2aIxUUorQIiLhIIiIAiIgCIsW7bS09BMKSmjNXWuOGwx67p8foupN5IhOpGCvJmw97I2F8jgxrRkuccALEq9sLRSndZK+pfybC3PxOi8QsV3vrmy3yr7GHORSw8vPl8yt6itFvtzQ2lpI4yBjf3cuPmTqp2itcyjFWqd1YV118jC+\/79cCBbLKY2OGRJPwI664HzXI0O2MvtXSkiB4hrRkf4P1VOiY+SO\/x2+9Nv09iYFn2oc4dpfIwB\/ZB1+AXhu1VtHa6CWO4vpaqmlaYi7IDjkcuBz6FVNzudNaaN1TUvw0aNaOLz0CnLbbaraWtbd7u3dpW\/8PT8iPp8\/JTi+L0M1Wmk+zpt4n19zB2fq6BldA67OlfHF3YAdWMOc5Pgv0qKWOaNskUjZGOGWuacg+qlLJRU0l0vdpqoWvhMokaw6aZPDHDQjguclru2zkhns73VdIdXUshJLdeQHH0180qWkyOyudGF2rrjbVWy+5Vosyz3ylvETuzzFPHpJC\/2m\/ULTVLTTsz0oTjNYovILqqaiKkppKiZ27HG0ucfALsc4NaXOIAAySeSkKiaTa+7tpacvbaqc5lkGnaH98PeuxjfwK61XArLNvRHO200+090ZeaxnZ0cBxTwnXeweJ9ePljkq1dcMMdPCyGFgZGwYa1o0AXYkpXYpUuzWeberCIiiXBERAEREAXwkAZJwAvqkrhXVm09VJbLS4Mo2aT1OuHeHl4c\/JSjG5VVqqmubeiO65X6ruVW612Bu\/IMiWp\/hYPA\/r7lo2XZ+ms7C8Htqp\/9ZO7ic8QOgXqtdrpbTSCnpWYHFzjxeepXsXXLK0dCunSd8dTN+i8PkIiKBpCz7teaSzU\/a1L8vI7kbfaf5fVeO87SxUEgpKOP7XXPO6Ima7p8cfL5LotGzsr6n71vbvtFY7DmsPsxdPDPwCmopK8jNOs5PBSzfPgv96HnoLPWX+rZdb33YhrBS40xyz4fE89FVAADAGAF9RclJyLKVJU1lq9XzJiH8t\/SHOM4FVT5AHPAH+kqnUxd\/wAHba0zHQPYWZ\/+h\/mVOuz4PoV7Pk5rq\/XMnb7YpnVAu1pPZV0Wrmt4S\/z+a9djv8F3pnF+IamEfjROON3xGeXyWq5zWML3uDWtGSScABQF0hftHdKioslKQyJhEsoO72x8up+KlHfVn5lVZ9hLFDjw59V+TUq62o2qrnW23PMdvjP5ioA9vwH71VLRUVPb6VlNTRhkbBoOvifFZWyldRVFsFPTQinlg0lh55\/tdTn+S3VybtuluzxTXaN3b\/bIIiKs0hERAEREAREQE5tLX1EtTT2KgduzVekrxxYz\/bJPgPFa9rtkFpoWUlOO6NXOPFzuZKxbZ+Y24uUzyCYYhG0dOA\/T4qmVkskomWiscpVHzsvBBEXnra2mt9M6oqpRHG3meZ6DqVWaW0ldnc5zWML3uDWtGSScABS9ZfK29VZt1gBawHEtWRgAeB5fM8l05uO2M2O\/RWpp\/wDaX6\/IeKqKKhp7dStpqWMRxt6cSep6lWWUNdTJinX7uUefF+HTqeKy7P0lmj3mDtalw78zuJ646BaqIoNtu7NUIRhHDFWQREXCRMbVfh3mxzjALagg+OrdPmqOeeKmhfNPI2ONgy5zjgBSu21VHBUWx+Q50MpkcwO1wN0\/ovsVvum1Egnuu9SUAIdHTt0L\/E\/U+iuw3imzz1Vca04xV27e3E4SPrtsakxwl9LaY3avxgy\/v3Dmqmjo6egpm01LGI42cAPmeq5wwx08LIYWBkbBhrWjQBdihKV8loaaVHA8Us5Pj8dCb2gtE8FQL3aQW1cWskbRpKOenPx6rUs13gvNC2oiIDxpJHnVhWgpW826ex1Rvlpbhn\/MwD2XDrj9449V1PErPUrmnRk6kdHqvyvyVSLz0NbDcKOOqgdvMkGfI8wfJehVmpNNXQREQ6EREAREQExQA0m3ddE4YbUxb7CdN46H68Oip1ObV0csYp71SD8xROy\/+8z+XyJXCs2ubNFFBZ4TU1k7QQ0jSPPXqR7la4uVmjFGpGg5RnzuutzTvV9pbLCDJ+JO\/wDq4WnvO+g8Vj0NkrL5UtuV9JEfGKkBIAHiOXz6r2WXZsUk\/wB4XGQ1Ve\/vFztQw+HU+PuW+uYlHKJJU5VXiq6cF8\/Bxa1rGBjGhrWjAAGAAuSIqzWEXCWWOCJ0sz2xxsGXOccABTdXtc6omNLY6R9ZN\/3C07o8cfXClGLloVVK0KfeZQ1NVBRwOnqZmRRt4uccKcn2ir7xIaXZ+mdu5w+qkbgN8uQ9dfBdlPsxUV0wqtoKw1T+LYGEhjf34fFUMMENNEIoImRRt4NYMAKW7Hqyq1Wr\/Vev+ELcrH911lrlqKh1TVVNSO2e45B1HD381fKY2s791skLfadU58tWqnXZttJsjs8IwqTjHTL2CIiqNgXFzWvYWPaHNcMEEZBC5IgJGge\/Ze\/Otszj9grDvQOJ0Yf3ofQquWbfbRHeba+nOBK3vRP6O+hXl2Yuz62kdRVY3K2k7kjXcXAaA\/of5qyW8sRkp\/Sn2T0enwbiIirNYREQBERAY21lRLT7PVDoSQXYY5w5AnHX09VP2Goj2cr44qgMdTXBjXRVIA08CR4nB6FWs8EdTA+CZu9HIN1w6hSNw2MqxAYKCs36cv3hDMfZ\/wDHx8dMq6Eo2ws8\/aadRVFVgr2\/fUskUCy6bR2upgs8ssMTsBsckwBGOXe+C1\/uzaypGJ7xDC08RE3UD0aPmounbVlkdqx5Rg7lHNPDTRGWeVkUbeLnnACwqvauN8xpbPTPuFR1aO43xJ5\/LxXCLY2GWZs10rqiveBqHOIHzz8Vu0lHTUMIhpYGQsHJoxnz6rm6upP68\/6rzfx7k+zZuuu0oqL\/AFhcM5bTQnDW\/vw96oKSjpqGEQ0sDIWDk0Yz59V3ouOTZZTowhmtefEIiKJaTFd+a2+oYeLaeEvdy173\/wCVTqXtmKvbq5VIALIY+zB0OHd0foVUKc+C6GbZ88UubfwERFA0hERAFL7RUstpuEe0NC3O6Q2qZ\/abwz+nuPVVC4yRsljdHI0OY8FrmkaEHiFKMrMqq0+0jbjw8TrpKqKtpY6mB29HK3eaV3KTtcj9mr260VDj9iqTv00jjwPT9PPB5qsSUbM5RqY456rUIiKJcEREAREQHgu1opbxSGCpbgjVkg9ph8Fh0d3r9n547demF1NndiqxqMcs\/vIVWumrpKeup3QVUTZY3cWuU4yys9CipSbeODtL38TsY9kjA+Nwe1wyHNOQVyUo61XfZyR89okNXSak0j8kt15AcT4j3FaNr2ot9xAjkf8AZang6GQ4wdeB58EcOKzRyFdXwzWF\/ujNpERQNAWffbl91WieqGsgG7GMfxHQfX0XsnnipoXzTyNjjYMuc44AUq6STbC7NZGHNtNK7eLnNx2j8fPXh088KcI3d3oZ69TCsMe89Pk1NlbcaCzsfJntqn8WQuznXhnVbSIot3dy2nBQiorgERFwmEREAREQGXf7Q28W10QAE8ffhf0d0z0PD\/ZdGzF3fcqF0NRkVdKdyUO4nofh7wttSt9ilsd4iv1M09hIQyrY3n4\/vmB1Vkd5YTLWXZy7VacfDn9vYqkXXDNHUQMmheHxyNDmuHMFdirNWoREQBERAEREAWbc7Bbrs0\/aYAJOUrO68evP1ytJF1NrQjKEZq0lclm7O323gNtl7\/Db7LJho3w5j4LkYdsn4aKmkj0HewPoVTopY3xRR\/Giu62vuyYZsnUVszZr3cn1e7wiZo0ev0AVHBTw0sLYYI2xxtGA1owAuxFxyb1LKdGFPOKz9QiIoloREQBERAEREAXTV0sVbSyU07d6OVu64LuRDjSasyUstbLs\/XuslycRC5xNLO7gRnh6\/AqrXgvFpp7xQup5hhw1jeOLHdViWu+zWdwtd\/DonM0iqCCWubwGvPz96sax5rUyRl2DwS7vB8uj\/BVIuLXNe0OY4OaeBByCuSrNgREQBERAEREAREQBERAEREAREQBERAEREAREQBeetoKS4Q9jVwMmZy3hqPI8R6L0ImhxpNWZIT0lw2Sk+1UUj6q2ZJkgcdYwf3x96obZd6K7QiSkmDjjLozo9vmF7SARgjIKzYrBQQXb7zhY+Kbvbwa7uuJ4khWXUlnqZlTlSluPdfDl4fB\/\/9k=",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BASTIAN",
    "correoContacto": "bastianrios@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:12",
    "ubicacionGPS": "LatLng(lat: -23.6618433, lng: -70.3999642)",
    "horaLlegada": "16:42",
    "horaDespacho": "15:14",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 18:11:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/06/2026 18:11:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'KY2151', 1, 19969062, 126738, NOW(), 
				'15:14', '16:42', '18:12', 5, 'Se realizo mantencion general
1 rgom 2758
1 rgom 2759
Firmado  por Williams Arevalo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781129516.png', 'Se realizo mantencion general
1 rgom 2758
1 rgom 2759
Firmado  por Williams Arevalo', null, 'COMPLETADO','LatLng(lat: -23.6618433, lng: -70.3999642)' )
				
[10/06/2026 18:11:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200681

10/06/2026 18:11:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200681'                    
				WHERE idllamado = 12987			
				TO ENVIO: micorreo@miempresa.cl, bastianrios@dsprint.cl


10/06/2026 18:11:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12987			
				
10/06/2026 18:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 18:11:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:11:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:11:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:11:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:11:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:11:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:11:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:58 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 18:11:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:11:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12987
            GROUP BY l.idllamado;
            

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:11:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12987
                

10/06/2026 18:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:14:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:14:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:20:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                
=========================================
FECHA: 10/06/2026 18:20:50
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-vzR_qE_nRh3qUl-tqwpQXmoIyjCp1kzmHCdPVrB8z.+XCozc7BD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76121841",
    "serieinterna": "KY2715",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "59929",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mant. General, Reparacion de Adf\nMant. de Unidades, Limpieza general, pruebas Varias y en Duplex",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12952",
    "observacion": "Reparacion de Adf y Unidades con materiales reciclados",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACcAOYDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABEEAABAwMCAgYIBAMCDwAAAAABAAIDBAURBiESMRMiQVFhcRQjgZGhscHRFTLS8AdCwpLhFjM0NTZDR1JiY3SChKKy\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECAwUGBwEBAAAAAAAAAAECAxESITEyQVFh0QQicYGhwRMUI2KRsfDhM\/\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvCrrKegpn1FTKI42Dcn5DvKHG0ldnupy66meaj8OskfpdY7YuAy2P6H5D4Lk6a6atlc2mc+htbTgyfzS\/vu5d+VQWy0Udog6KliwT+aR2OJ\/mVZZR11MuOdbKnlHj06n1aoaynt8cdfUCeo3Lngd55IuxFBu5qisKSCIi4dCIvGqq6eihM1TMyGMHHE843Q42krs9kU3Lrq0Rvw1tTKP95kYx8SF6U2tbPUPDXOlgycZlZt7wSp\/DlwKPmqN7YkUCL4iljmjbJFI2RjhlrmnIPtX2oGgIiIAiIgCIiAIiIAiIgCIiAIiIAiLjudzprTRuqal+GjZrRzee4LqVzkpKKu9Bc7nTWmjdU1L8NGzWjm89wU9RW+r1TOy43UOjom7w0wOzvHy8eZ8l82221Wpa1t3u7eGlb\/k9P2Efb5+SrgABgDACsdoZLUyRT7Q8UtncuPN9D8YxkbAyNoY1owGtGAF9IiqNgREQBERAcd1udPaKF1VUE4Bw1o5ud2ALAobJUX+cXS+FwjO8NKCQA3x\/eT8F8vxqjVDoHDjt9uzxbnD3cvmD7Ae9Vqs2FlqY0vmJNy2VpzfE84YIadgjgiZEwcmsaGj4L4qaKlrGcFTTxzNxjrtBwvdFXc14Va1iTqLJcrBM6ssUr5YdjJSPy7I8O\/5+a2LJfKe9UxcwdHOzaSEndv3C1FOagtEsMv43aj0dZD1pGtG0re3btPzVialk9TJKDod6npvXToUaLhs91hvFvZVRbHlIzO7HdoXcoNWdmaoyUkpLQIiLhIIiIAiIgOf06l9N9C6ZvpHDxdH24710KY\/2if+N9FTqUlaxVSqOeK+5tBERRLQiLzmmjp4XzTPDI2DLnOOwCDQ862tp7fSvqamQMjYNz3+A8VM0FBNqe5fi1yjLaJm1PAT+Yd5Hd39\/kviGOfWF2FTM1zLTTO9Wx23SH98+7krBrQ1oa0AADAA7FbsK28xpfMO72Vpz5+AAAGAMAL9RFUbAiIgCIiALgvdcLdZ6mpz1msw3fHWOw+JXXUVEVLA6eeQRxsGXOdyCnNYS+kxW63xvBbWVAGWnmBgc\/8AuCnBXkiivUwU5Na9Tt0nRCksUMjgTLU+ukceZzy+GFtL5YxsbGsYMNaAAO4L6UW7u5ZTgoQUVuCIi4TCIiAlbWBZtYVdvwGQVrRLEM9u+w\/9vcqpTGrMUtwtNxHVMU\/A5w5kHBx8\/eqdWTzSZmod1yp8H+8wiIqzSEREAREQExD63+IlR\/yaYfJv6lTqYtXrNdXWXnwxBmf7P2VOpz1XgZuzaSfN\/sIiKBpPxzg1pc4gADJJ7FITvm1fdzSwvcy00zvWPbt0h\/fLuG\/gve\/1lTeLh\/g9bjgjrVMvYG7beW4z44HeqGgoYLdRx0tOwNYwY8z2k+KsXcV95jl9eWBbK15vh1PSGGOnhZDCwMjYMNa0bAL0RFWbNAiIgCIiAIiICb1xKRZ4qZv56idrQN+Qyfnhc9dFnWFmoWgcFNAHbchgH9IX3d2Gu1tbKUjijgZ0xBzgHJP9LV9Rev8A4iTdvo9N7th+pXrJeTPMqd6o39yX4zKdERUHphERAEREBMa92ssDhsRUtwe7quVOpjX3+Y4f+pb\/APLlTqb2F5man\/3n5e4REUDSEREARF51EvQU0su3q2F2\/gMoG7E5pQmoul5qzn1lRhuewAu2+Sp1OaHj4bE6U7umnc4nHkPoqNTqbTM3ZV9GL45\/nMLG1LeTaqER0\/WrKg8ETBu4Z\/mx2\/daVZVw0FJJVVD+GKMZcVO6dpJrtXyahuDAHP6tPGRs0DHWGfb8SkUtp6CtN3VOGr9FxNLT1mFoofWgOq5etNJnOT2DPgtdEUW23dl0IKEVGOiCIi4TCIiAIiIAiIgJim9d\/ESrz\/qaYY9zP1FLX19d3WTnwxBue78u3wSzdfWl3eeYaG\/L7JYTx6tvTwNgQ0+ef7le9\/geZHNx5yfuU6IioPTCIiAIiICY1517RTRN3e+pbwt7+q77hU6mNUn0i82Wi5h0\/G8eGR9MqnU5bKM1LOtUfgvT\/QiIoGkIiIAszUUwg09XPJxmIs\/tbfVaantbzdFp1zM\/42VrP6v6VKCvJFNeWGlJ8js0xF0OnKJvezi95J+q1V4UMPo1BTwYx0UTWe4AL3XJO7bJ044YKPBEpd5Xaiv0VmpyTS07uKqeCRuDu36eZ8FURRMhiZFG0NYxoa1o7AOQXxDSU9PLLLDCyN8xBkc0Y4scsrLk1ZZ4auSmmnfG+J5Y4mM4yDg8lJ3lkkUxUaTcqjV3\/WNpFz0tdSVzOOlqI5gOfA4HHn3LoUDQmmroIiIdCIiAIiIAiIgJix\/6YXn2fNNL9a\/39x3IqMA+HE\/7JbfV6+ubHc3whw8fyJo7Lqi7S8g+p5e0\/dXy0fgjzKe3BfdL3KdERUHphERAEREBMVWKz+IFNHnLaSDiIzyO5+oVOpfTANde7rdicsfJ0UZ55Ge\/yDVUKc9UjN2bOLnxb6BERQNIREQBS2sMVNdabfsemny4eGQPqVUqXqx6Zr+ljyeGlg4iPHc\/Vqsp63Mvas4KPFpepUIiKs1Bc81voqgOE1JBIHHJ4owcldCIcaT1J2q0Xb5H9NRSTUMwyQ6N2QD5Hf3ELkFfqDTmRcYTcaNo2mYcub5nn7\/eq1fjmhzS1wBBGCD2qam9HmZ32aKd6fdfLoctvulHdIOmpJhI3kRyLT4hdamrlpp1POLlYcU9Ww5MQIDHjtGOQ8uS6rJqJlxc6kq4\/Ra+PZ8Tsji8s\/JHFWvEQrNSwVVZ+j\/uBtoiKBpCIiAIiICXr80Ou6Go2EdXF0bj3ncfpVJFDFAHCGJkYc4ucGNAyTzPmp\/WtO\/8Ogr4W5ko5g4HGcA\/3hq36aoZVUsVRH+WVgeN+8ZVks4pmWl3as4+f5PVERVmoIiIAsnU1wNtsc8rcdJIOiZnvPb7Bk+xaylpHjUWqmRN61FbOs\/cEPkzty8vge9Tgs7vcUV5NRwx1eS\/uRqactxtdlgge3hlcOkkH\/Eez2DA9i1URRbu7lsIKEVFbgiIuEgiIgCmNOONbqS8V\/8AIHiJpPaAcfJo963rhUijt1RUl3D0cbnA+ONvisnRdKaewNlcOvUPdIT2kch8viprKLZmqd6tCPC79vc30RFA0hERAEREAWNfNOU14Ama4wVbB1Jm\/AHv+a2UXU2ndEJwjOOGSyJq06jkp6kWm9tMNUw8LZj+WTuyfryPgqVcN1tFJeKUw1LNx+SQfmYfD7LFst3qLZXfgd4eOkbgQTk7PHYM\/L3KbSkrozxnKi1Co7p6P2ZUIiKs1hERAc9fSMrqCeleBiVhbuOR7D71h6PrHtp5rPUgMqaJxHD3tz8cHt8QqRYF\/s1TLUMu1rkLK+EY4eyQd2\/apxaawszVoyjJVYq7WvNG+iwbPqmnrG9BX8NFWMdwOjk6oJ8M8vIrdDg4ZaQR3hRcWtS2nUjUV4s\/UXxLNFAwyTSMjYObnuACm63VMtXP6DYITUzk4Mxb1G+O\/wAzt5rsYuWhypWhT2n1OvUV7NDF6FR5kr6gcLGs3LM7ZPdz2Xvp20CzWtsLgOmeeOUg537vYF42TTzKB5rax\/pFfJu+RxyGnwW2uyaSworpwlKXxJ67lw\/0IiKBpCIiAIiIDB1nUmn07K0HBme2Me\/J+AK1bfTCjt1PTBvD0cbWkeON\/isHWXrZLVS8zLUjbv5D6qnU3sIzQzrzfBJe4REUDSEREAREQBERAFmXuyU96pOil6krd4pQN2n6jwWmi6m07ojOEZxcZLImrDd6ilqvwS8O4alm0UjuUg7Bnt8D7OapVlX6yRXik29XVRbwyjmD3eS59N3qSsa+314LK+m2eHfzgbZ8+9TaUliRnpydKXw56bn7eJuoiKs1BERAZ9yslvuuDVU4c8DAkbs4DzWSdDULHcVPWVcJ8Hj7KmRSU5LRlM+z0pu8o5k0zRNG5wNVWVVSAeTn4\/fb71vUlHTUMIhpYGQsHY0Yz59690Ryb1Owo06ecUERFEtCIiAIiIAiIgMO72uqrr9a52MBp6Zxe9xcNjkHl7AtxEXW7qxCMFFtreERFwmEREAREQBERAEREAU9qSzzSOZd7b1K6m62wHrAPmfpsqFF2MnF3K6lNVI4WZ1kvEN6oGzx4bI3aWPO7T9u5F60tqo6KrqKqni4JKg5kwTg+xEla+Qp4sKx6n\/\/2Q==",
    "razonSocial": "INVERSIONES Y SERVICIOS DIGITALES SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "PERSONAL",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "SERVICIO TECNICO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "18:21",
    "ubicacionGPS": "LatLng(lat: -23.6618445, lng: -70.3999472)",
    "horaLlegada": "18:09",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "5",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


10/06/2026 18:20:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76121841

[10/06/2026 18:20:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76121841', 'KY2715', 1, 21773342, 59929, NOW(), 
				'08:00', '18:09', '18:21', 5, 'Mant. General, Reparacion de Adf
Mant. de Unidades, Limpieza general, pruebas Varias y en Duplex', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1781130050.png', 'Reparacion de Adf y Unidades con materiales reciclados', null, 'COMPLETADO','LatLng(lat: -23.6618445, lng: -70.3999472)' )
				
[10/06/2026 18:20:50] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200682

10/06/2026 18:20:50 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200682'                    
				WHERE idllamado = 12952			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


10/06/2026 18:20:51 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12952			
				
10/06/2026 18:20:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


10/06/2026 18:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:54 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12952
            GROUP BY l.idllamado;
            

10/06/2026 18:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12952
                

10/06/2026 18:20:54 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:20:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:20:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:21:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:06 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:21:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:21:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:21:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:07 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:21:07] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:21:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:21:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:19 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:21:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:21:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

10/06/2026 18:21:20 - INPUT: {"rutTecnico":"21773342"}
[10/06/2026 18:21:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 18:21:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

10/06/2026 18:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 18:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

10/06/2026 22:48:35 - INPUT: {"rutTecnico":"19969062"}[10/06/2026 22:48:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[10/06/2026 22:48:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

10/06/2026 22:48:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVICIOS MEDICOS  CEGMED SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78031724
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 05/06/2026
        )

)

10/06/2026 22:48:35 - INPUT: {"rutTecnico":"19969062"}
[10/06/2026 22:48:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

10/06/2026 22:48:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:51:48 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 09:51:48] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 09:51:48 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

)
[11/06/2026 09:51:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 09:52:31 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:52:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:52:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 09:53:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

11/06/2026 09:53:21 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:53:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:22 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:53:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:30 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:53:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

11/06/2026 09:53:40 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:53:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:53:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:47 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:53:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:53:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:53:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 09:54:02 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:05 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 09:54:17 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:22 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 09:54:29 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 09:54:40 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:47 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 09:54:51 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:54:51] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:54:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:55:05 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:55:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 09:55:08 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:55:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 09:55:16 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 09:55:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 09:55:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[11/06/2026 09:55:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 09:55:46 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 09:55:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 09:55:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

)
[11/06/2026 10:14:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 10:14:42 - INPUT: {"rutTecnico":"20988335"}[11/06/2026 10:14:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 10:14:42 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => ESTUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

)

11/06/2026 10:15:00 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:15:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:15:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12996
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76669222
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3150
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:15:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:03 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:15:03] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:15:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12996
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76669222
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3150
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:15:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:04 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:15:04] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:15:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12996
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76669222
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3150
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:15:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:39 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:15:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:15:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12996
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76669222
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3150
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:15:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:15:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:15:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:16:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                
=========================================
FECHA: 11/06/2026 10:16:14
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xZ2vIDjBis3crKi5CZBGs9wifpxB5UPsuTZuEZwZR0dW+S35fWg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76669222",
    "serieinterna": "TO3150",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "80198",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de toner\n01 iton2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12996",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAPUDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABBEAABAwMCAgYIAggEBwAAAAABAAIDBAURBiESMRNBUWFxgRQiMpGhscHRFUIWIyQzQ1KC4WJykvAmNGOywtLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBAIJBQADAQAAAAAAAAECAxESITFBBFETIjJhcZGhsdEUI4HB4TNCUvD\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIueurYLdSPqql\/DGwZ7yewd6HG0lditr6a3U5nqpRGwdvMnsCr9NcL5f6uKajZ6DbmPB43jLpAD8fLbvWi3W2o1PWC7XYEUg\/cU\/UR9vn4K3NaGtDWgAAYAHUrHaGW5ljjr9bSPq\/4ZREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICuWOqqWalutvqZ5JQ0iSIPdnhbnq7NnNVjVYq\/2LX1JNyZVwljj2ncdfg1WdTnszNw7dpRezfyERFA0hVCUu1bfugaSLZRHJcG\/vHbbfPy8VJatuZt9pMMJPpFWeijA54\/Mfdt4kLtslsZabXFStHr+1Ie1x5\/byVkeqsRkqfdqdHss3+kd7WhrQ1oAAGAB1LKIqzWERRN31BTWothDHVFU7HDBGfW37V1Jt2RCc4wWKTyJZFDWi\/muq30NXSupKtjeLo3Z3HP6hTKNNZMQnGavEIsEgDJOAFlcJhERAEREAREQBERAEREAREQBERAEREAREQFZ1iPR3W24jb0apAJ7jg\/+PZ1qyggjIOQVBazh6XTczsZMT2PHvx9VKW2b0i10s5OTJCxx8SApvOCM0Mq81zSf6OpEUffbh+GWeoqgfXDeFn+Y7D7qKV3YvlJRi5PYhKcR37WklRkup7a0NbncF+Tv78n+keVrULpS3GgskZkGJag9K\/I335A+SmlKbzstinh4tQxS1eYRF5e9sbHPecNaCSewKBoI6+3qKy0XSEcc8mWwx\/zH7BcemrLJRxur7gOO4VBLnOduWA9Xj2+5cdnh\/SG+z3moa408Dw2lacgbcj9fEqy1NXT0cfSVM8cLM4y9wCsfVWFamOH3ZdLLRafPwV65\/qtd2uQerxxFpPb7W3xVjmmjp4XzTPDI2DLnOOwCpF1v1NUanoquiY+sbTsI4GtI4nb8tvArFbcb1qapNnZSspQQHyMdkEAY9o9mcbY7FNwbtcojxMYOeHNt5eSOhzqzUzqytfPJTW6na4wAer0jhnBz8\/cvdn1fR0dkhiqnzTVLCW8DGknHVufuvf6G8NCXV9wmn6CMlkbDhjcDkM\/2XToimp\/wVtR0MfTF7gZOEcWAdt11uOEhTjWVVbNp3vny29jWb5qK4txbrP0DT\/En8OrOB80dY9QVYL7jfehYBkiDIA8ccKs0sscETpZntjjYMuc44ACqdRWVerqo0dB0kFtYf10xGDJ3f28yoxd9FZF1WCjlOTk3tp7G7S81fKa9kNV6TSxzcMU04J4uecb7DkfNFYqOjgoKSOlpmcEcYwB9SihKV3c00qThBRbN6IigXhERAEREAREQBERAEREAREQEbqGMSafrmkZxC53u3+i16XlM2nKN5OfULfc4j6LtuMZlttVGBkvhe3HbkFROi5A\/TcTQc8D3tPdvn6qf+n5Mzy4hd6fuT6qmoD+MajobK1+Yoz0s4Hv38v8AuVomlZBC+aQ8LI2lzj2AblVTTNRTiWtvlfPDA6qkLY+NwGG53x54HkuwyvIjxLUnGm99fBFtAAGAMALKrlRrShDzFQQT10vU2NpAPnz+C1f8V3YjaK1wE+L8EeZz7lzA98iT4mGkOs+750LFU1lNRs46meOFva9wCp+p9Tw3ClFutjnS9M7Ejg0jO+zR25P+910Vmm7da6Ca4XKeWvmYzbpX8LXO6hzz8Sqvp+J0+oaFoG\/TtfsOw5+iupwj2uRh4qvVuqTVsX5ZZqGk1RNRQ0kQitlMwcOSMyOzuT1nOfDcrtptGUfSdNcZ5q+Yj1jI8gZ9+firGiqdR7ZG2PC01bFn4\/GhTJ3Utu1jLLFA1kNBSGQxxN4Rnh6+88fxUhpCllfTT3ap3nrnl2cflz8s5+Cq9y6a46rq6SB+DUziFzj2NI+A4QfIL6PTwR01PHBEMMjaGtHcFOplFLmZuFWOrJ7Jvzf8OO+zej2Ktk\/6LgPEjA+aj7DPTWfSNPUVUgjYWl5PW4kkgAdZxhc+uq1rLWyiY8GWaQcTAd+Eb8vHC02rT1TdOhq7yXNhjaBBR8gGgYGezw59q4ksGZOdST4hqCu0rdyueWtrtZVAdK19JaYzs3PrSn\/fkO9Wunp4aSBsFPG2ONgwGtC2NaGtDWgAAYAHUsquUr5bGqlSwZt3b3CIiiXBERAEREAREQBERAEREARYJAGScAKJrNUWejyH1jJHD8sXr\/EbLqTehCc4wV5OxLoqt+lVwryW2izSyjqkl9nzxt8UFr1Pcv8Anrm2jjJ9iD2ufd9yp4LauxR9Spf4037ebJu5XShoIXiqqo4nFpwwuy4+Q3VN07qCehtjqGit8tXUF7n+qCQ3OMZA36u5WCj0daaNvSVDX1TwMudKds884H1ytOggRYpSeupcR\/paprCovcomq060b9XJ6Z8iIvtTqWSGKGs6OBtY\/o2U0eC53Lx7R1qZotD2uANdU9JUPxuHPw3PlgrRRtdfNYzVpdmlt3qR45F3\/wByfcrWuSm0klkKFCFSUpz62yvnp\/TTT0lNSM4Kanjhb2MYG\/JQV51Q6iusNuoomTSuLQ8k54STjhwOv7qXu1wZa7ZNWPwSxvqtP5nHkPeqFpzimvE10rXl4pI3Tvc92C442+f++SQje8mS4ms4ONKGTfojv11dDJUstsbiGxAPk35k8hz7O5Z0lQY1DIcDFDDwOOD+8PPn38Q8vFQJnL7gy4VXrueTUOBOOI5OB4Ejq5Aq76OoZKa0uqp\/3tY\/pTtj1er6nzVkupCxjoXr8Tjfj+NiwIi562tprfTOqKqURxt6z1nsHaVlPabSV2U3SdOazVFXXu3bEXuz\/icSPllS1y1LJNU\/h1iYKqqJw6QDLGd\/YfHl4qNp6apvplhtMH4dapH5lkPtSnkflyG3PKtNstNHaacQ0kXD\/M87ud4lXzavdnm8PCbhhhkt3z8PkjrNpttHN6fcJPSrg48Re45DD3fdTyIqW23dm+nTjTVohERcLAiIgCIiAIiwSAMk4AQGUUVWaltFED0lax7upkXrk+76qMdq2rrTw2e0TTjOOkkGG8+77qahJlEuIpRdr592ZaFz1NfR0YBqaqGHPLjeBlV\/8N1PdADW3FlDGf4cHte8fcrfS6KtUIDqjpap+2TI8ge4fXK7hitWQ6WrLsQ88vQxVa2tUOW04lqn9QjZgZ8T9itLrpqe5Y9BtbaKM\/nn9rx3x8irDTUVLRtIpqaKEHnwMAyt6YorRDoqsu3Pyy9Srt0nWV2HXm7zT9sURw0e\/wCwUrQ6dtVv4TDRsc9v8SQcTs9u\/LyUmi45yZOHD0ou6WffmYAAGAMALKIoF5orXcNDUOzjETjns2VRtlebVoOSoYeCWSRzIz\/iO2R4AE+Ss97k6Kx1z84xTvA8SCAqVa4jdJbRaTHxQ04dPPvzy4nfy4R\/V5q6murmedxU2qqUdbNL8tFs0zbvw2yQxux0kg6R5HaeryGApdFx3a4MtdsmrH4JY31Wn8zjyHvVbvJm1KNKnbZIruoqhl3vMVqBPo1GDPVuHUAMnfPYcdxKg43TOsphiAE94qsBu+eBp+XEfgfLqfDLb9KS1M4c6uu8oG4y7hzn47\/6guzTdA2ov7pOEGG2xCFh6i\/rPvLjt2jxWhWjHw\/97njyUqtVc5eif89zil09LUarFGIZG0zGs4n8PCDG1oaSD34x5r6A1oa0NaAABgAdS8SyxQRumle2NjRlz3HAA8VWaq\/116ndQafjIA2kq3bBo7uz59gVTcqn4N8Y0+Gvu5PTckb1qOltQ6GP9orHbMhZvv345eHNR9Hp+su1S24ahk4sfu6Vpw1vj2eHvKkbLpyktH67eercPWmfzz147FMLmJRyiTVKVV4qvlt+eZ5YxkbAyNoY1owGtGAF6RFWagiIgCIiAIiIDTUVVPSR9JUzxws\/mkcGj4qCqda0DXdFQwT1svUGNwD58\/guGvipqvWXo964xCWD0UcRawnv36\/LcK109JTUjOCmp44W9jGBvyVloxtfMyKdWq2oNJJ25srnpWrrkMQ0sFvjJOHSe18cn4L0NIz1juO73eoqM7ljDhoPdn7BWdExvbIl9NF9tuXi\/wBEVSaas9EP1dFG5380vrn4qUAAGAMALKKDbepfGEYK0VYIiLhIIiIAiIgCIiAhtWzCHTdWc7vDWDvy4fTKjdB28Q0Ete7PFO7hb3Nb\/fPuXvXNSDQ01AwjpaiUHHcP7kKxUdMyjo4aaP2YmBg2xnA5q29qduZiwqfFOX\/K9WblVrqTqDUUNqjyaWjPS1J5ZdyxuN\/7lTV7uH4XaJ6oEB7W4jz\/ADHYLi0pbXUNr6eYftNYelkOMHB5D458yuRyWInW+5NUttX4f0g9bVjYrpQwMximZ0gb1Ak7A\/6Rt2HvXXaK2j0vpyJ9Wf2iqzKImj1nA8vAYHzVcufpV81JNHCBNI55YzgORhu2c7bbZyrhZtLx0cnptwcKqtdvl27WeA+vuwrZWjBJmCk6lSvKcF3X2RxQ2y56okbVXZzqWiBzFTM2Lh3\/AHPlhWelpKeigbBTRNijbya0LciolJs9OnRjDPV8wiIolwREQBERAEREAREQEZe7LDeaMxuwydm8UuN2H7KNst\/lgnNpvZENXFsyV5wJB1b9vf1+POyqPu1lo7xBwVMfrtHqSt9pn38FOMla0jPUpSxdJT19yQRVKK43XS8op7m19ZQkgMqW59Qd\/wBj5Ky0VfSXCHpqSdkzOvhO48RzHmuSi1nsSp1ozy0fI6ERFEuCIiAIiIAiIgCIonU1yNsss0rCBLIOjj36z1+QyV1K7sQnNQi5PYr9M78f10ZsO9Hojlv9Ow8Mu3V2Vc0XazQ2t1TIP1tUQ7mDhg5fMldF51NT253otK30uuceFsLN8Hvx8uasmsUrR2MlBqlS6Spk5ZkTqqtgqL3SW+edsdLT\/rqjO+\/ZjrOOX+ZenTXbVhMVK00NrzgvcMOkH18Bt3rk05amX64VdxuuZJI5QDHjALu\/uGMYV4a1rGBjGhrWjAAGAApSahZLVFdGnKvecnaL82iCsOl4rLVzVBl6ZzhwxEjBa3r81PoipcnJ3Zup04044YrIIiLhYEREAREQBERAEREAREQBERAeJYo5o3RyxtkY4Yc1wyD5Ku1uj2Mm9Ls1S+hqByaHHgPd2j4juVlRSjJx0KqlKFTtIqsWo7naXiG\/0LyzkKmIDB7zjbr6seCm6G9224taaarjc538NzuF\/uO67nNDmlrgCCMEHrULWaRs1YS70boHHrgPD8OXwUrxeuRVgrU+y8S79fMm0VXGm7zQjFsvb+EcmT5wPmO3qWRX6spBwz22CqGNnxncnyP0C5gvozvTtduDXr7FnRVj9JrxEcTabqDjmWcWB2\/lKfpTdXexpmrOfZJLv\/ROjkPqqXf5P4LOirDrnqmsAbS2mOmBG75Xbj34+Sfo9e7hg3O9OY0+1HT7Ajs6h29RTBbVj6hvsRb9PclLpqC3Wlh6eYPlG3QxkF\/mOrzVYp5qrVmpI2VcBjpKYcboHZwB1Z7ScjyUw+y2nTdunr2U\/TSQs4munIceLkO4bkcl60fQyQW19dU71Fc\/pSSN+Hq9+581NYYxbRnmqtWrGE9NWl+2SlypJ6q3PpqOo9Fe4BoeB7I6wPJc1n09RWdvFG3pag+1O8esfDsUqiqxO1ja6cHLG1mVjQm9qqXnZ5qTkdnqt\/urOoqwWd9mppo3zCUyymTZuMbDZSqlNpybRDh4uFKMZahERQLwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiwTgZ7EBV9TOkul2orFC71XO6WfHU0f2z54VnYxsbGsYMNaAAOwKuaYo5qiurb1WNIlneWxBw3De0d2MAdwVlVk8rR5Gbh05XqPf22CIirNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "TUTORIAS PREU GAUSS LA SERENA SPA ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SUBDIRECTO.IVREGION@PREUGAUS.COM",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:16",
    "ubicacionGPS": "LatLng(lat: -29.9325685, lng: -71.2466621)",
    "horaLlegada": "10:14",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 10:16:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76669222

[11/06/2026 10:16:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76669222', 'TO3150', 1, 20988335, 80198, NOW(), 
				'08:00', '10:14', '10:16', 10, 'se realiza entrega de toner
01 iton2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781187374.png', '', null, 'COMPLETADO','LatLng(lat: -29.9325685, lng: -71.2466621)' )
				
[11/06/2026 10:16:14] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200683

11/06/2026 10:16:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200683'                    
				WHERE idllamado = 12996			
				TO ENVIO: SUBDIRECTO.IVREGION@PREUGAUS.COM, tecnico@dsprint.cl


11/06/2026 10:16:15 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12996			
				
11/06/2026 10:16:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 10:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:18 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:16:18] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:18 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 10:16:18] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:16:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12996
            GROUP BY l.idllamado;
            

11/06/2026 10:16:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                

11/06/2026 10:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12996
                
[11/06/2026 10:17:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 10:17:54 - INPUT: {"rutTecnico":"9291721"}[11/06/2026 10:17:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 10:17:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78179996
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => ESTUDIO 4525AC
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 08/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES SANTA LAURA SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76318598
            [ModeloMaquina] => ESTUDIO 330AC
            [FechaLlamado] => 08/06/2026
        )

)

11/06/2026 10:17:57 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:17:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:18:01 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:18:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:54 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:58 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:58 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:28:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 10:28:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:58 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:28:58 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:28:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 10:28:59 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:59 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

[11/06/2026 10:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:28:59 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

[11/06/2026 10:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:04 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:04 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:04 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:04 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 10:29:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:29:05 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 10:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:05 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:05 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:16 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

[11/06/2026 10:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:18 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 10:29:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:18 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:18 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:23 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:23 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 10:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:25 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:29 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:29:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:29 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 10:29:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:31 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:29:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 10:29:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:32 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 10:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 10:29:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:34 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:34 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 10:29:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:29:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:29:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:29:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 10:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:06 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:06 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:14 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:14 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:30:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

[11/06/2026 10:30:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:14 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:14 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 10:30:15 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:15 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:30:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 10:30:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:22 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 10:30:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 10:30:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 10:30:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 10:30:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 10:30:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 10:30:38 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:30:38] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:41 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:30:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 10:30:45 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:30:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:46 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:30:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 10:30:47 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:30:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:51 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 10:30:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

[11/06/2026 10:30:51] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:30:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:55 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:30:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:30:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:30:57 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:30:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:30:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:31:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:31:05 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:31:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:31:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:31:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:31:22 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:31:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:31:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:32:37 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:32:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:32:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 10:32:37 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:32:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:32:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:32:53 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:32:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:32:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:32:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 10:32:58 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:32:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:32:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:33:14 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:33:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:33:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:33:45 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:33:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:33:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:33:46 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:33:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:33:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:34:18 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:34:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:34:22 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:34:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:34:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:34:44 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:34:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:34:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:34:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:34:47 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:34:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:34:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:01 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:35:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:35:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:03 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:35:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:35:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:35:15 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:35:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:15 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:35:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:35:16 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:35:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:37:14 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:37:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:37:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:37:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:37:16 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:37:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:37:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:37:18 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:37:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:37:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12978
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 8732136
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => L5590
            [SerieInternaMaquina] => EP3104
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:37:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:37:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:37:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                
=========================================
FECHA: 11/06/2026 10:40:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-njq7jso-NWAeXZ2.ZbdPN_H1MVu1oEQAIOAbGXmNYVOOsupvobM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "8732136",
    "serieinterna": "EP3104",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12978",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACiAPoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA5EAACAQQABAMGAwcDBQAAAAAAAQIDBAURBhIhMRNBgSJRYXGRoRSxwQcVIzJC0eEkM\/BSU1Sywv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EACwRAQACAQIEBAcAAwEAAAAAAAABAhEDIQQSMUETUWGhIjKRscHR4SNCcYH\/2gAMAwEAAhEDEQA\/APswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABx5PJ22Js5XNzPUV0jFd5v3I7EZctaKxmejdd3dvY28ri6qxpUo95S\/51K1HKZniKvy4mLsrKLadzOKbl\/z3L6mvH4264nuVk8unC0T3Qt09Jr+3x8\/kW2nThSpxp04RhCK1GMVpJfBE9qesskc+vv0r7z+oerotb38T0GFWrToUZ1qs1CnBOUpPskVtnRmCLwWWqZi2q3E7V0IKpy09v+aOk9\/clDsxicSjS8XrFq9AAHEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAByZPIUsXYVLuqnJQXSK7yfkivY7EXWeuo5bNdKXeha\/08r9693b4ss11RoXFvOjcJOlNaab1s2xioxUYpJJaSXkTi2I26qL6XiXjmnaO3r6iSS0lpI9BjKUYQc5yUYxW229JIgveykoxcpNJJbbfkVK9ubniy+ePsJunjaT\/AI9dL+d+5e\/4L1PLu7uuLb2VhYSlSxtJ\/wAavr\/c\/wCeS9WWeysrfH2sLa2pqFOC6L3\/ABfxLPk37sczPETiPk+\/8ZWlpRsbSna28OSlTWoo3AFbXEREYgAAdAAAAAAAAAAAAAAAAAAAAKzVydw+PqNjTrSVDw+WpT8m+SUl+aJVrlXqakaeM95x9VmABFYAAAAAIziGx\/H4W4pKKc4x54bW\/aXUx4byDyWDt60\/9yK8Ofxa6b9ej9SUaTWmtplX4Xk8blchg5ppU5urSbfePRfk4v6lkb1mGa\/wa1bdp2\/X5WWvXpW1GVatUjTpxW3KT0kVSpVv+L7rwqHPbYmnLVST6Or5+vl08u\/uLJksdQytm7W55vDclJ8r0+j2b6FClbUYUaFONOnBajGK0kcraKxnu7qadtS3LM\/D9\/4ws7O3sLaNta01Tpw7Jfm\/ebwR+RzmOxcG7m5ipLtTi+aT9CO8ytma0rvtCQBUZVM5xTqNKm8djpd5t+1UX6\/l8WWqhRjb29OjFylGnBRTk9tpLXVnbVwhp6viTMxG3n5tgAIrgAAAAAAAAAAAAAAAAAAD53YXPi8f+NvpK5nFa93VL7H0KpONKnKpL+WCbfyR81xtOULvFX9TW7i+lvyS6w\/Vv6F+l0l53GzPNT0nPvH7fTAAUPRAAAAAArXElvWsslZ562hKf4fUK0I93Df+X9iynkoqUXGSTTWmn5kqzicq9XT8SuEbbcRYe5pKpDIUIJ\/01ZqDXozmvOL8RaezCtK5n\/00I7+\/Y3XHC+GuajqVLKKlJ7bhJx3135M6rXEY6ylzW1lRpyT2pKPVevfzJfAqxxE7ZiPXdAO+4h4gjyWNs8bbSXWvUbUn8n3+i9SQx3CmNsGqlSn+Kr726tbr1+C7E2Dk3npGzteHrnmvPNPr+IAAQaAAAAAAAAAFTsqUstxheSubmqlY1FKjSjPp06fTot\/MthK1cKtLU8SJnG2QAEVoAAAAAjMznKGFdv49OclXm47j\/Slrb+5IwnGpTjUhJSjJJxa80QnGFl+M4fqyS9u3aqx9Oj+zZycFZdXNj+760141utwW\/wCaH+O30LOXNOaGXxprxHh26TGyV4iuHa8P3tVS5X4fKmvJy6fqVa9ofgeGcDcy6KlW53078z5\/yRK8bV3OztcbSe613WSUfgv8tfQ6+J7KMuFq1GC34EIyhvXRR1+myVJxEesqNePEtfH+se\/X8JtNNbT2menBg7pXmFtK6k5bpJNvza6P7pneVTGJw31tzVi0dwAHEgAAAAAAAAAAAAAAAAAAAABVb1SxfHNrcxbVHIR8Ofucu2vryP1LUQHGNnKvhvxNJ8tazmqsZJdddn+j9CUxV7HI4u3u4vfiQTl017XZ\/dMstvWJZdL4NW1PPeP\/AHr7usAFbUAAAAANdejC4t6lCotwqQcJL4NaKFh8PWufFha1lbZPG1mlJx6Ti35\/HpLv5PXy+glWu5PEcb0LnSVHIw8OTb\/q6L9I\/VlunM7xDFxWnWZra3TOPr\/XVjMJeTyf70zNWnWuYJKlGC6QWv8AL\/Mmrqgrm0rW8u1WEoP1WjaCE2mZy000q0ryx3VzgirzYSdF96FeUe3l0f6ssZU8NXhiOJ8hYV4ygrurzUPZ2n3ff5Mth3U+bKrhZ\/xRXvG30AAQaQAAAAAAAAAAAABDXXE9hZZZY+vzwkl7VRrUYvut+nuJiMlKKlFppraa8ypcZ42krq1ylSHNRUlSuEujce+18dbX0MbHI1+Ga9K1u6juMVXXNbXKW+VPqvT4fQt5ImsTVhjiLU1LV1Onn9s\/tcAYxlGcFOElKMltNPaaMipuAABhWpQr0Z0ai3CpFxkvg+hXODpzt1fYqo9u0rPle\/JtrX236lmKxaf6f9oN5Hyr26aXx1H+zLK7xMM2t8OpS\/rj6rOACtpAAAAAAguMLD8Zg6lWEd1bV+LFp6aS\/m+3X0J01XVLx7StR\/7kJR+q0SrOJyr1aRek1nu0Yi+eRxVvdtJSqR9pJ9OZPT+6Z2Fd4Hq8+A8N96VaUWvd2f6liF4xaYc0L8+lW0+THli5KTiuZdnrqZAEVoAAAOPKWVXIWngUrqds3LbnDvrT6fr6G2ytvwdnStvFnV8OPLz1Hts7thHM82MbN4AOJAAAAAAAANF7a076yrWtVbhVg4v+5W+GqdLJYG5wt7GLnbVJQa7uKbemvk9\/QtZVtRx37QEoR5YX1Bt+7fV\/nH7llOkwya8RF63nvtP\/ACf69wd\/cYe9jgMn1\/8AFreUl5L+309xaCK4gwsMzYuEUo3NP2qNR9NP3b9zOfhzNyvKbsL7dPIW\/szjLo5pefz9\/wBRaOaOaDTmdK3hW6dp\/CdABW1hWKyT\/aJQ5V2tnza+Uv8ABZyr4qX7w42yN2nunbQ8GPwfRf8AzIsp3n0ZuI3mlfWPZaAAVtIAAAOOrlrKjkaePqVkriqtxhpvfr5dvM7DuMORaJ6SAA46rHC38DMZq0j\/ALcK\/NFdtdZeX0+hZyuYqk6PGOV9mXLUhGSem15b69ixk79Wbhoxp48pn7gAINIAAAAAAAAAAAAAAAAVjitK1ymIyOtKnX5Jv4bT+fbmLOQnF1m7zh6vyrcqDVVenf7Nk6Ti0M\/E1mdKcdt\/pumyC4hwcr3lyFi3TyFv1g4vXiJeTO7C3v7xw9tdN7lKCU9v+pdH90d5yJmsp2rXWpv0lEcPZuOXstVNQu6Xs1qfZ79+vcyXIDNYOtK6WWxMvDv4d47SjV+D38DHH8V0JVHaZaKsbyHSal0g\/XfT1+pKa53qqpqzpzyavXz7T\/VhKxwSnK2vqrWnO5fy7ExkspbWWNr3KuKXNGnJ0\/bXtS10S9Tg4Ns52nD8HUjyyrTlU0\/c9JfZIRtSS0xbXrEdomU8ACtqAABrlQozqxqzpQlUh\/LNxTa+TNgAMAAA80t711PQAAAAAAAAAAAAAAAAAAAAGM4RqU5U5xUoyTUk\/NGQArHCsnj7+\/wdR6dGaqU9vbkmur\/9X6lnK1mrapacS43KW1CdTml4dbkTfTttpfBv6IspO++\/mzcPmsTpz2n27Bx5DE2OUgo3ltCrrtLtJfJrqdgIxOOjRasWjEwgKXBWGpVVN06tRLfszqdPsTsYxhBQhFRjFaSS0kjICbTPVCmlTT+WMAAOLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjSfdbPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD\/9k=",
    "razonSocial": "MAURICIO ANDRES ABARCA LAGOS",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "DANIEL FUENTELAZAR",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I861\",\"id_control\":\"28981\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I862\",\"id_control\":\"28981\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I863\",\"id_control\":\"28981\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I864\",\"id_control\":\"28981\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:41",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:26",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 10:40:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:8732136

[11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('8732136', 'EP3104', 1, 9291721, 0, NOW(), 
				'08:00', '10:26', '10:41', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781188838.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200684
[11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200684', 'EPS-I861', 1)
				
[11/06/2026 10:40:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28981 and
				    IDproducto = 'EPS-I861'
				

11/06/2026 10:40:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I861';
                [11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200684', 'EPS-I862', 1)
				
[11/06/2026 10:40:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28981 and
				    IDproducto = 'EPS-I862'
				

11/06/2026 10:40:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I862';
                [11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200684', 'EPS-I863', 1)
				
[11/06/2026 10:40:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28981 and
				    IDproducto = 'EPS-I863'
				

11/06/2026 10:40:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I863';
                [11/06/2026 10:40:38] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200684', 'EPS-I864', 1)
				
[11/06/2026 10:40:38] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28981 and
				    IDproducto = 'EPS-I864'
				

11/06/2026 10:40:38 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I864';
                
11/06/2026 10:40:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200684'                    
				WHERE idllamado = 12978			
				TO ENVIO: null, tecnico@dsprint.cl


11/06/2026 10:40:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:39 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12978			
				
11/06/2026 10:40:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:41 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

[11/06/2026 10:40:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:40:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:40:41 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:40:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:40:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12978
            GROUP BY l.idllamado;
            

11/06/2026 10:42:33 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 10:42:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 10:42:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

)
[11/06/2026 10:42:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 10:42:35 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:35] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:41 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:41] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 10:42:47 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:42:49 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:55 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:57 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:42:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:42:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 10:43:02 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:43:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 10:43:09 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:21 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:43:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:43:30 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:43:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:33 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:43:33 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:33 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12978
                

11/06/2026 10:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:36 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:36 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:38 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:39 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:39 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:43 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:43 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:43 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:45 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:46 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:43:46 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

[11/06/2026 10:43:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:43:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:46 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:43:46 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:47 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:47 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:43:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:43:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:43:49 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 10:43:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:43:49 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:43:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:43:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:43:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:43:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:53 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 10:44:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:53 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:44:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 10:44:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:56 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:44:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:56 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:58 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:44:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:58 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:58 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:44:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 10:44:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:44:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:44:58 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:44:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:44:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:45:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:24 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:25 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:27 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:29 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:51 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:51 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:45:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:45:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:45:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:45:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:45:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:47:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:42 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 10:47:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:43 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:47:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:47:44 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:47:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:49 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:47:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:50 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

[11/06/2026 10:47:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:47:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:10 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:48:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:48:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:48:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:11 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:48:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:48:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:48:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:49:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:49:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:11 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:50:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:11 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:50:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:50:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:13 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:50:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:50:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:50:14 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:50:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:50:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12980
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:50:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:50:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/06/2026 10:51:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-l04R-Cfy.tcmcxhJFYAQutf+9vIux.420Od+.-Ig4PnowjhcM-F
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3050",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12980",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADqAP4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABGEAABAwMCAwQHBgALCAMAAAABAAIDBAURBiESMUETUWFxFCKBkaGxwRUjMkLR8AcWMzQ2UnJzwuHxJENTVWKCktKi0+L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQMCAwQKAwEAAAAAAAAAAQIDESESMQRBURMiYdEjMnGBkaGxweHwFEJSYv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIigXa80dmgbLVOOX5DGNGXOI\/fxXUm8IjKSitUngnos1\/G6cOPFYq0MA\/FwnPyU61alt92cIo3mGf\/AIMuxJ8O9ScJLNiqPEUpOyeS3REUC88ySMijdJI4NYwFznE7ADmVRaduFbdK6vq3vf6CXBtO1wHQnl++qi3+rmu9xZp+geRuDUyA7Bvd4\/rgLRUdJDQUkdLTs4YoxhoVltMc7syqTqVcerH5v8HdERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCyzo23TXro5gHx0EQe0dM4bj4uz7PBalZi1f06uv90P8KshzfgZuIy4J9fM06q7vp6gvEf30fZy9JowA7294Voigm1lF84RmrSV0Za23ess9eyz3kZY4htPU9CMYGT16eWd1P1LeTbKMQU4LqypyyJrTu3O3F+niuesooJNOyumc1rmOa6In+tnkPZlQNJW99c83yveJpXepDn8gG2f09verbJrWzA5VIy7CL32fRfuxbaesrbRRDtQHVcvrTSZySc8sq3RFU227s3QhGEVGOyCIi4TCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA5zzxU0LpppGxxtGS5xwAvTXNewPY4Oa4ZBByCFyrKOCvpJKWpZxxyDBH1CwlYy96ZrI6aK4PjpHuxFK\/wBZgHiMHHu8VOMdWL5M1au6Lu1eJ9CWXbij\/hDeXDhFZT4aQNicD\/0Rp1k5gIdRuBGztt1wkoNUTV0NbJBRPngBEbyeQPzU4xtfJTVquem0Xhp7EvVNXdbXNTXGkkBpo8tkixsSf63f9Pau9s1bba6DimlbSytblzJHDHXOD15Kuqrw66aNrzVwujng4Y5ABsXcQAI9vPuwqqioptVS0sTYG09LRxNjlnA3dgchnr++4KSgnHvcimVeaq3pO+pXt8vcer1XuvRluEocy3QAx07CcGaQ8j9T4DHVazTVI+isFNFI0teQXlpO44jkDkOhCi0ejrdSVDZS+WdrDlrJHeqD5Dmr9QnNNaUX8PQnGbqVN2ERFUbgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLB6jiuVBeZat0kzYZnNMdRHnEYyNjt4cuuynCOp2KK9bsY6rXN4ixlt12GskZco+NzQSySEfj35YPLzUk32+3V4ZarYaeMn+Xn3GO\/uHxXXTktytcZSkrxy+lsmqUeuooLjSPpalnFG8Y8Qe8eKoP4uXudjX1Go545fzNi4i3Phgt+S7Wq7VdPeZbLdHB8pJdBLjHG3n8vkmnmmS7a\/dqRsn7Dxpeolo6qrsNS\/ifSHiiJO5Yf9QfatGSAMk4AWZvnDQ6ttNcBgS5heR16f4vgomqdRSSsmt9tD3NaAKidgOACcYBHfyz7FJxc2muZTGsqEJRl\/V4+qM46qqKmqqKCBzeCtqsktGeI8W3s3X02ioqe30rKamjDI2DYd\/ifFZHRdgf2jbrVMLQ3+btP5u92Pl71tkrSV7IjwFKSi6kt3t7AiIqT0QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiKNXXCltsHbVcojYTgZ5k+CWucbSV2SV5c1r2lr2hzTzBGQVBt18t109WlqGmTf7t2zvcrBdaa3ORlGavF3RWV2nrZXU0kJpIYnP37SOMNcD35HNVdrudXZq1lmu\/E9rjw01TzDgc4BOfZ4eW606ptU2x1yszxEPvoD2seOZI5j3fHCnGV+69jPVp6fSU918\/AuVnNW0cjY6a70zMz0Lw5w72c\/gfmVP07dBdrRFO45lZ6kv9odfbz9qhapuxgp\/sujAmrKscHZgZLWnmceP+aRTU7CtOE6Gq+Ht9ih1DeItQ1NvpaEPDyRl39Vz8bezqtha7PS2uhbSxMDhsXucN3u7z+9lhtG0fpl8ie5gMdMDITjryHx+S+kKdXu2ijPwSdTVWnuwiIqD0giIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCy99Yyq1daKWZofEAX8JG2dz\/hHuWoWc1nTyigguMDy2WhlDxjuJG\/vA+KnT9YzcUvRN9LP4Mk3bS9Dc8SRj0Sob+GWJoG\/iOqrm3W76ckZBd4zV0mwFWzJLd+pPM+B95Wht9xprnSNqaaQPaRuAd2nuPcVJc0OaWuAIIwQeqamsSDoxl36bs3zWz9xwoq6muFO2elmbIw9RzHgR0UhZG6WuTTNR9s2nPYZAnpydsE9PD5K7q79R0lnZcnPyyVmYmZ3ecckcf8AIhWtdVMNftzOVdRLo+91L44eOkrWF0bM4AcP0J9xC8upq61UclyqIpJ7rcj2bBwZEXF0I7zyA9neujNPXHUTHXO41BgmeR2EWNmNz1HMbcuvVbJgLWNa53EQACe9WSkl7eZlpUJVG3lR\/r4X\/cdCp01ZDZbeY5HB08p4pCOQ22Hs+quERUttu7PQhCNOKjHZBERcJhERAEREAREQBERAEREAREQBERAEREBna7U1Rabs6CvoHNo3EBk7cnpv038uauKS50NdG19NVRSB3IB2\/ljmF1qKeGrgdBURtkjeMFrgvn9z05DZrkx1U2aW2zHhbJEfXYT0O3P5q2KjLGzMNWdag9XrR+n4PoFRU09JGZKiaOFg\/M9wA+Ko6vWdvhmMFJHNWych2Q9Unz\/QLnS6JspDZhJPURuGQHSDhI\/7QCryjt9HQMLaSmjhB58Ldz5nqudxeJZ6efSK+JT0ur6Z0gjuFLPby44a6UeqeXXHj3Y8VeyxR1MD4njijkaQfEFR7nbKa7UbqapZlp3a4c2HvCqNL1k0UtTY6txdPRk8Dj+Zmf8AMe9LJq6ClOE1Co7p7P7MztvqZtI6hlgqQ8wO9V+PzN\/K8d\/+oX0GCeKphZNBI2SN4y1zTkFZrXTYpKOjjETX1Uk\/DF34xuPeWqJc7bNpVnpttunYsecOp5dw8\/8ASN8+3cDqptKaT5mWnKXDSlFZivlc0OoKumpbLVekvAEkbo2t6ucQcALO6TsL6uOK4XDL4Ysimhdy554sd2c+Z3XiKyXrUtTDXXN7YYMeq0jBDfBvTPj8VtYoo4YmxRMDGMGGtaMABcb0R0p5LYQfEVO0krRW3ie0RFSbwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC41dLFW0slNO3ijlbwuC7IhxpNWZlbFVT2O5GwV5JY45pZehB6e35rVKo1DZW3ih+7PBVQ+tC\/lg93t\/RedN3l10o3RVADKynPBK3qcdcfvdWS7y1Iy0m6Uuye3Ly9xcrKRVVONb1tSxzRDBBiolPJpGAd\/cMeCur7JcGWx4tkRfUOPCCMZaD13WKNqqbZRdpd6gQQPeHupWcJknIOwOOnmds8lKnFWeSviqklJJLbN+RONyhrbq\/UFbxto6M8FLHw7ynpjfvOT7FOs9uqb3cPtq7xkRj+bQPGwHQ47uXnz7lzsdglr5IbhdIw2CJoFLSdGtHLPz8eq1yTklhEaFGU+\/U239r6v7IIiKk9EIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKou2oae1VEdP2T55XYc9rN+BnVxx+91brL31xtep7fdnE9i8GGUkgAD9nPsU4JN5KOInKELxxlF5brpSXWn7akk4mg4IIwR5j2KYszeLBNSTuu9kd2NQwZfC0bSDOTj9FY2W\/0l3pWOEscdRjD4S7cHwzzG4RxxeJyFVqWiph\/JlqiKlF2nOrXWsGMwCDiIH4g7n8uniopXLZzULX5uxdKhuVoqYrvFeLZw9q3DZouXaNzufPB+Her5UN71I2jk9AoGek17zwtY3cMJ7\/HwUoXvgrr6FC8\/1+BIveoKazx8H8tVPH3cLeZzyJ8FXWjT9RV1Yu99Pa1DgDHCRtH3ZH09+6k2PTjaN5rrgRU3CQ8Re45DPLx8fcr5dclHESuNOVVqdXbkvPxCIirNYREQBERAEREAREQBERAEREAREQBERAEREARFEuVzprTSGpqnODMhoDW5JJ6Ilc5KSirslqDebbHdbXLSyENJGWPP5XDkVKgniqYGTwvD45BxNcOoUW8UJuVqnpWuLXPb6pDiMnuPgurDIVEpQeL4KnT14kik+xLp93WQ+qxzv94Om\/U\/MLL6gpg3UVfNTtJggex0jo3DLCcZ8vWJHgrK1TUV+iZaLywx1dP6kUwOHuAyOEk9R3dVeV1nttr0\/cBFCAXwOBe71nOd+X44Wi6hI8xwlXorOFm\/PbZkOjp9S08TG0VdT1tJIwGOWQYLQRgHB7tjjdWVhsjra2Spq5jPWz7yvzkDwCaWJZpikMhDQGOJJ2AHEfoq2432ovM7rVYQ5xO0tSNg0dcH6+5Qd22kXx7OnGM3dvkt9+h1uuoZaiq+ybI0y1Ljh8wHqxjqR+vJT7HYKezxFxImqn7yTuG58B3D5rrZbPBZqFsEQDpDvJLjd5\/TwVioSkrWjsX06Um+0qb\/AE\/eoREUDSEREAREQBERAEREAREQBERAEREARFkf45S019qKaspwKSOUxcbActwThxzzyB9QpRi5bFVWtClbVzNci8tc17A9jg5rhkEHIIXpRLQiLzI8RxueQSGgnA5lAelX3ygFxtFRT8Ae8t4mDbPEOWO7u9q8Wi\/Ud5EgpyWyRn1mPxnHeO8KzUsxZXeFWGMpmB0he3UEzKOqeTTVLsMcTsx+wx4Dl8PFb5YV9oY+8XOzEBpm\/wBopCQAGu3OPLBI9is7NqZsLW269ZpKqL1A+QYa8DbJPTlz5FW1I6sowcLVdJdnUeOT+3kV2tbU2nrobnHlkcrg2VzBu1w5O93yU2ez3WoY0Xu6wvt0Hruc3YvA5Z239vxXjWd2oZ6GKhinjkfJI1znNPEGNGd8jP7yuNJBW6ukaah74bVTkNa3kZSPr49OnUqSvpTZXJQ7aUY5bthPHjfwOklVU6od9m2tj6a2RYbJMduIDG3u6e\/C09Bb6a20raaljDGNHPq495PUrrBBFTQshgjbHGwYa1owAuiplK+FsehSo6Xqk7y\/cIIiKBeEREAREQBERAEREAREQBERAEREAREQBZG00cFwvd\/palnHE+Tl3HJ3HcVrlmNOf0mvn96Pm5WQ2ZlrpOcE+r+jODmXPSHHIwurbaSMg7GPJ7um3sz3LT0dZBX0kdVTP445BkH6FdXNa9hY9oc1wwQRkELJOEujbmXta6S01TtwBkxO\/fvHknr+0i78O\/8Aj6fg16LxFLHNE2WJ4ex4y1zTkEL2qzYfPa\/OmdYCojY5tM5weB0c0jDh7CTj2L6CCCMg5BVVqOztvFrfGG\/fxAvhPj3e1Z6z6ruLLeyEWqSrbC0RtljzjIGwOx6YVzWuKa3R50JLhqkoy9V5X3LKrje\/+ECikjY4sZTHtHAbDZ\/P4L91XW2yNrKaaiZXVrv5OMZy3zI3x4dVS2+61cdbUTR05rbvVkhvDgxxMHjz9mcYxndaLT9ifQcdbXO7avnOXPO5YO7\/ADXWtNm+RGnJ1VKMFu7u\/L8lPZ9D8QZPdXYHP0Zh5eZ\/T3rZRxsiYI42NYxvJrRgBekVUpuW5to0IUVaCCIiiXBERAEREAREQBERAEREAREQBERAEREAREQBZjTgzqS+OG47bGR35ctOsxooB8FfUlvrTVBPF3jz67kqcfVZmq5q017foadcaukhrqSSlqGccUgw4LsigaGk1ZmRoKufS1ybaa95fQzHNPOfy+Hlnn3c1rQQRkHIKiXO2U12o3U1SzLTu1w5sPeFmqa712lZmW67jt6bh+4kjwXBo2x5efJW215W5jUv470y9Xk+ng\/sa+SRkUbpJHtYxoy5zjgAeJXz6ES116q7bZqvsaOrfxF\/CW7AEkDrjc7eHcrWCkrNXzelVrzT21rvuoWEZf5\/vyWmpaCkooxHTU8cTRy4W7+9E1D2kZRlxLT2ivi\/wcbXaaS0Uwhpo9\/zSH8Tz4lTkRVt3yzbGKirLYIiLhIIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICt1DWeg2KrmyA7gLG+bth81x0tRehafpmluHyjtXbcy7l8MKDrNz6mOhtUJ+8qps4HcNvr8FpI2NijbG38LAAPIKx4gvEyx71dvorfHPkekXiWWOCJ0sz2xxsGXOccABZmp1NWXKd1Hp+lMpzg1Lx6rfHf6+5RjFy2LalaFPffpzJd61H6LOLdbmek18mwa3cMPj4\/LmVytulWZdVXl\/ptVLkua45YzPd+\/JS7Dp+KzsdLI\/t6yXeSYjfyGd\/1VwpOSWIlUKTqPXV9y5LzZkK2212l6g3Cz8UlESO2piScD99eY8lobXeKK7QCSllBdjLoyfWZ5j6qcs5dtPyQT\/aljxBVsJc+Npw2UdRjv25cil1LD3OOEqL1U8x6eXkaNFSWbUsFyc6nqWeh1jDwmGQ4Lj4Z+XNXag007M0QqRqLVFhERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAZ4Uk1brQ1U1O5sFHFwxPdGQHO8CRg\/iPfyU29X6lskLTOHPleD2cbR+LHjyCtFwlhimqIjLEx5YHFvE0HhO24U73auZ3B04S0vLf1Pnk0971BUNllpKiogJy2JgLYvf9c58Ve0tVqSigbBTafp4o28mtP8A+lrUUnUvixTDhHF6tbv1wZj7R1e8ZZZ6Yf2nj\/3Cenaz\/wCU0f8A5j\/7Fp0Uda6It7B\/7fy8jMCt1m7b7Lo2568Q2\/8AmmdZnfFG3PTbZadE1+CH8d\/7l8fwYyqsOoLnUNnqvQ4phhomYSHtGRvt\/qtfTsfFTxskeZHtaAXOOST7guiLkpORKlQjTbabuwiIol4REQBERAEREAREQBERAEREAREQBERAEREAREQH\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ESCUELA PEREZ CANTO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28986\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"2EPS-I1241\",\"id_control\":\"28986\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"228986\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28986\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:51",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:44",
    "horaDespacho": "10:41",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 10:51:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3050', 1, 9291721, 0, NOW(), 
				'10:41', '10:44', '10:51', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781189473.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200685
[11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200685', 'EPS-I1240', 2)
				
[11/06/2026 10:51:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28986 and
				    IDproducto = 'EPS-I1240'
				

11/06/2026 10:51:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200685', '2EPS-I1241', 2)
				
[11/06/2026 10:51:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28986 and
				    IDproducto = '2EPS-I1241'
				

11/06/2026 10:51:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = '2EPS-I1241';
                [11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200685', 'EPS-I1242', 2)
				
[11/06/2026 10:51:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 228986 and
				    IDproducto = 'EPS-I1242'
				

11/06/2026 10:51:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [11/06/2026 10:51:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200685', 'EPS-I1243', 2)
				
[11/06/2026 10:51:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28986 and
				    IDproducto = 'EPS-I1243'
				

11/06/2026 10:51:13 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
11/06/2026 10:51:13 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200685'                    
				WHERE idllamado = 12980			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/06/2026 10:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12980			
				
11/06/2026 10:51:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 10:51:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:16 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:51:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:17 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12980
                

11/06/2026 10:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:18 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:51:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12980
            GROUP BY l.idllamado;
            

11/06/2026 10:51:18 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:19 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:19 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:20 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:51:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:22 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:51:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:24 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:33 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:33 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:35 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:51:37 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:37 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:51:38 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:51:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:39 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:39 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:39 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:41 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:42 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:51:42 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:51:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:51:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12983
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                
=========================================
FECHA: 11/06/2026 10:52:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BtTgGC9vsEGe1Pkki4jNOJWb7pof.c+Oet6XXixXzaso49LKF4n
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12983",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABsAMIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABAwMBBAgEAggHAQAAAAABAAIDBAURBhIhMUETIlFhcYGRoRQywdEzsRUWI0JiguHwJCVDUlNWorL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAuEQACAQIDBgUEAwEAAAAAAAAAAQIDERIhMQQTMkFRcSJhgZHRobHB4TNCUmL\/2gAMAwEAAhEDEQA\/AP2ZERAFS3nUsFoqWU5hfO8jak2D+G3PEq6WWsMcN3vl2uUgEsTj0EYdggtxg7vAD1KvFLNs5685LDCDzZo6SrhrqSOqp37cUgy0rssxpoPtd3r7I95cyMiSHJ5H+hC06iSsy9Go5wu9efcIiKpqEREAREQBERAERUd71HHQO+Do2\/E17zstiaM7J7T9lKTbsilSpGnHFJl097I2F8jgxrRkuccAKkrtX22lk6Gn262Y7mtgGQT2Z+2VCi0rVXMtqb7XSuecnoI3bmefAeSvqG00FtaBSUscZAxtgZcfE8Ve0VrmYYq9TRYV55v2KMTaqu\/WhijtcOMgyb3n1BPsFoKGOpioomVcolna3D3t4OPapCKrlfkaU6WB3cm35\/AREVTYIiIAiIgCIiAi3Of4W11U4zmOFzhg43gblWaOh6LTkL\/3pnOe7vOcfkAu2qpOi01WuxxaG+rgPqu9hjEVgoWg5zAx3qM\/VX\/p6nM89o7L7v8ARTagBt+prXdBuY89DIeQ5b\/Jx9FqVQ6ypfidPSvDdp0DmyDHZnB9iVaWyqFbbKapzkyRgnxxv91Ms4pin4a049bP8MlIiLM6QiIgCIiAIizmo7hVT1cVjtpIqJ98z942GePrn+qtGN3Yzq1FTjiZ4ul7rK+tdarCA+QAiao\/dZ4Hl4+isLLp6ltDNv8AGqnb3zvG85447ApNqtVNaKNtPTt73vPF57SpqlyytHQyp0m3jqZv6Lt8hERUOkIiIAiIgCIiAIiIAiIgM9raQM069pIHSStaO\/n9FdUUZhoaeIggsia0g9wWe1gfiai125oL3TVAcWcscN\/qfdahXfAjmp515vpZfk5zQsqIJIJBlkjS1w7QRgrPaPllpm1dnqQBJSSHZ\/iB4\/Q\/zBaVZe5f5RrKjrhuhrmmGTZHE7hv89n0UwzTiRX8Mo1OmT7P9moREWZ1BERAEREB5c5rGF7jhrRknsCzWjqczmtu8++eomc0HIOGjecEd\/8A8haSWMSxPjPB7S0+azukpDRUtRbKvZhnp5clpduw7HDzV48LOap\/NC+mfuaVFX119tluaTUVce0P9Nrtp3oFTu1DebjIRZ7SeizgTT7s+4A9SoUGy069OLte76LM1CjVFxoaQ4qKyCI9j5AD6Kh\/V68XEZut5e1p4xQDA+g9lJp9GWWAdaGSc9skh+mAptFasrvK0uGFu7\/CuKjWdlgHVmknPZHGfrgKN+uE0+BRWSrmJPMY\/IHvV9T26hpDmno4Ij2sjAPqpKXguQwV3rNLsvkzH6x3z\/rk3q77INX1FM8fpKy1NLGSP2m8gcO0BadfCARgjIKYo9Buqq0qfRFfbr9bbpupqlpf\/wAb+q70PHyViqa46Wtlfl7Ivhp85EsPVwe0jgVXW67V9muEdovPXjf1YKrPzb92T\/ZCnCnwkb2dNpVV6rT16GqREWZ1BEXCtqW0VDPVO4QxufjtwOCENpK7M7SgXTXlROQHR0Eew3O\/rcPzLvRalZ3RlK5lslrZc9JWSl5JGMgHd75PmtErz1t0OfZk93iess\/f9BUerqM1VhkkYSJKZwmYQcYxx9ifRXi8vY2SN0b2hzXAhwPMKsXZ3NqkFODi+ZFtFa242qmqmkEvYNrHJ3Aj1ypizOkJHU0lfaJHHapZcsBPFp3fTP8AMtMpmrSsUoTc6ab1CIiqbBERAFXXOx0F2H+KjO1jG0x2Dz+6sUUptaFZRjJWkrlRR6XtFEdptI2V2B1puvw7juVsAAMAYAX1Ebb1IhCMFaKsERFBcIiIAiIgCo9YU0c+nJ3vHWhLXsPYcgfkSrxZrVtV8SaayQEOmqpAXgH5WjeM7xxP5K8OJHPtLSpST55E233Kd9tpnvIe50LCXOG9xwN53orGGjgggjhZGC2NoaC4ZOAMbyihtFowmkk2d1mta1RNBBbYutPWStAaOYB++FpVlqHbvOsaisOHU1vHRRHiNrhu\/wDRz4dxUw1v0KbS24qmtZZfP0NHSUzKOkipowAyJgaMDsC7KPV19JQs26qojhGM9Z2CfAc1QT6yE8pgs9BNWyYPWwQB34xk+yhRlIvOtTpZN+hp14kmihbtSyMYO1zgFmW2zU10w+uuQoYyPw4PmHjj7ldItEUJk6WrqqmqfjftuAB+vurYYrVlN7Vlww93YgVVzoqDWkNdBVRvgqY9idzCCBy4jvDT5K9l1TZImbRr2O7mAuPsFBvOk6F1olbbqRrKhnWZgkl2OI3nmE0zHZrlQiQUFO2qj3TMLM4Pbg8irvC1foc0N9Co4ZK+fP1Lu33GlulN8RSSdJHtFpOCCCOWCpS5wwQ07OjgiZEzOdljQ0Z8l0WLtyPQje3i1CIigsEREAREQBERAEREARFzmmjp4XzTPDI2DLnOO4BBoR7rc6e0ULqqoJwDhrRxc7kAqjTNuqZJpb3cgfiqncxpHys3cuXDd3eKh0UMurbq6vq2kW2meRBER+Ie\/wBs+natetH4VbmckL1p7x8K08\/P4CIizOshXis+AtFVVA4dHGdk\/wAR3D3IUDSFCKOwQvLcSVH7Vxxxzw9sKNraV76Kkt8fz1c4HiB3eJC0MMTKeCOGMYZG0NaO4DC00h3OVeLaG\/8AK+5ArtPW25VraurhdI8N2cbZAPZuCnwwQ00QigiZFG3g1gwAuiKjbeRuoRi20s2ERFBcLLVJNm1rDMBs09xbsO37tvdk+uz6lalUGsqEVVjdM0ftKZ3SAgZOOB+\/krwednzOfaU8GJarMv0US1Vrbja6erac9IwF27HW4H3BUtUasbxakk0EREJCKHbbbDa6d0ED5HNc8vJkdtHJUxSyIttZhERQSEREARFFr7jSWynM9XMI28hzcewDmiVyG1FXZ3lljhidLK8MYwZc5xwAFkpn1GsLoIIS+O0QHL5Bu6U+f9jj3Jiu1lUNLmPpLTGckH5pT\/fkO9aqkpIKGmZTU0YjiYMABa8Hc5M9of8Ax9\/0eoYY6eFkMLAyNgw1rRuAXREWR2aBERAZqeM3PXEIaA6K3RBzyOTjkj6cM8FpVHioaWCplqYoWsmm+d44uUhWk72MqVNwu3q3cIiKpqEREAXiWNs0T4njLXtLXDuK9ogKDTtHX2urrLdKwvomO24Jj38vf1B7VfoimTu7mdOCpxwoIiKDQIiIDzJIyKN0j3bLWjJJ5BVDNW2KR4aK8An\/AHRvA9SFbSxsmifFINpj2lrhniDxVfBp20QU7YG0ELg3997AX8c\/NxVlhtmY1N7dYLep8OpbKBn9Iw7vFcJNYWOPIFYXkHGGxu\/PGFIGnLO05Fvhz4LvHaLZEQY7fStI5iFufyU+DzKW2jqvqUb9UV9ycGWK1ySAnBmnbho9Dj1PkulDpV0tR8bfag11QeEeeo37+G4LRhoaMNAA7AvqY7cOQWz4neo8X29j41oa0NaAABgAcl9RFQ6QiIgCIiA\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "NELSON MARQUEZ",
    "correoContacto": "jimena.huerta@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "936814830",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1245\",\"id_control\":\"28985\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:53",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:44",
    "horaDespacho": "10:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 10:52:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 10:52:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3074', 1, 9291721, 0, NOW(), 
				'10:51', '10:44', '10:53', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781189548.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[11/06/2026 10:52:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200686
[11/06/2026 10:52:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200686', 'EPS-I1245', 2)
				
[11/06/2026 10:52:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28985 and
				    IDproducto = 'EPS-I1245'
				

11/06/2026 10:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1245';
                
11/06/2026 10:52:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200686'                    
				WHERE idllamado = 12983			
				TO ENVIO: micorreo@miempresa.cl, jimena.huerta@eplicancabur.cl


11/06/2026 10:52:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12983			
				
11/06/2026 10:52:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 10:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:32 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

[11/06/2026 10:52:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:32 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:32 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:32 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12983
            GROUP BY l.idllamado;
            

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12983
                

11/06/2026 10:52:38 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 10:52:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:38 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:38 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:52:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:39 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 10:52:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:44 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:44 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:52:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:45 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:45 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:54 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:52:54 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:54 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:54 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:06 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:53:06 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:53:06 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 10:53:06 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 10:53:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[11/06/2026 10:53:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:53:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 10:53:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 10:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 10:56:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:30 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 10:56:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 10:56:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12263
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 15/04/2026
            [HoraLlamado] => 09:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3068
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 10:56:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 10:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 10:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                
=========================================
FECHA: 11/06/2026 11:00:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NE89B-EeIePHk8cGu0cV0J28aeVqJ22zB_kPgN_K09DXXNhXc5j
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3068",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "79971",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, cambio repuesto,\nlimpieza, pruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12263",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB8AMMDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQBAgf\/xABAEAABAwMBBQQHBAcJAQAAAAABAAIDBAURBhIhMUFRE2GBkRQicaGxwdEVFiMyM0JVYpLC8CVEU1RjgpOj4dL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAsEQACAQIEAwgCAwAAAAAAAAAAAQIDERIhMUEEUXETIjJhkaHR4YGxFCPB\/9oADAMBAAIRAxEAPwD9mREQBF5kZxnevUAREQBERAEREAREQBERAEREAXy97I2F8jgxrRkuccAKiuWq6Wml9FoWGuqydkRx8Afbz9g9y4mafu17eJr7WGKLORTRHh8h7yrqG8sjmlxF3hprE\/b1Ouv1jQU7jDRtfW1BOyGRggZ9uN\/hlc8cGrLm0yyVMVvY78sYb6wHx8yr+gtlHbYuzo6dkQ5kDe72niV1KcSXhRHY1J51JfhZfZXWejuFHFI24V3pbnOBa7H5R0ViiKjd3c6IxUVZBERQWCIiAIiIDATXatpdTVdxEkj6WmqewkYXE4aSRgDkPVJ9uFvIpWTRMljcHMe0Oa4cweBWV07SxXIX1swy2qnLXYHDe458yp9JVc0DqmyVZPa0jjsE82\/1vHcVvNJ6bHm8NKUWsTylf1v8GmREWB6QREQBERAEREAREQEc00dPC+aZ4ZGwZc5x3ALKz3Cv1VO6jtRfTUDTiapcMF\/cPpz54Xtzkk1PeRaaV4FFSuDqiVp3OPQe8e3PRainp4aSBsFPG2ONgwGtC0ygr7nG3KvJpO0V7\/Ry2qzUVnh7Olj9YjD5Hb3O9p+S70RUbbzZ1Rioq0VZBERQWCIiAIiIAiIgCIo6iXsKaWXd+Gwu39wygbsZzQ57WirakDAlqjgcxuB+a81NE+13Ok1BAzPZuEdQBzad3wyPJS6Gi7PT5dv\/ABJnO9wHyV9U08dXTS00zdqOVpa4dxWspWmzhp08fDRW+q66nsE0dTBHPE7ajkaHNPUFSLLacqJrTcptP1r8huX0zyfzN6D4+BWpVJRszpo1O0jfffqERFU1CIiAIiIAqrUdyNrss07DiR2I49+Dk8x3gZPgrVZjVmH3WxwuGWSVPrDr6zB8yrwV5GHEScaTa1+cix03am2q0RxlpbNKBJLtcQ4jh4K2RFVu7uzSEFCKitgijmnhpojLPKyKNvFzzgBZup1PV3CY0un6R07gcOqHt9VveP8A3yUxi3oVqVoU9deW5py4NGXEAdSuN95tcf57jSju7ZufiqVmk6ivIlvdylnf\/hxn1W+wn6LtZpGxs\/uO0erpHn5qbQWrM8deXhil1fwTjUlmJx9ow7+9d8FRDUxCWCVkrDwcx2Qq\/wC7dm\/Z0Pkq6XR7aebt7RXTUT852Nolp7uOfPKm0HuMXERzaT6fZpUWXo9SVluqm0OoYhE92OzqGgbLt+MnG7xHktO1wc0OaQQRkEc1WUXE0p1Y1Fl6bnqIiqahVmophBp6ueTjMRZ\/Fu+as1ntbzdlp1zM\/pZWs\/m\/lVoK8kY15YaUn5HZpiLsdOUTerNrzJPzVqoKGH0agp4MY7KJrPIAKdRJ3bZenHDBR5Iz+q7bJNSx3Kk9WrojtgjiWjeR4cfPqrO0XKO7W2KrjwC4Ye0fqu5hdhAIwRkFZSkP3Z1O6iccUNedqLduY4nh8vEK670bcjnn\/VVx7PJ9dn\/hrERFmdYREQBERAFR6mt1RVQ01ZRt26milEjGkZDhkE7uPIK8RSnZ3KVIKpFxZmDrijgxHWUVXFO3c9ga0gHuJIyh1fLWgMs9qqJ38zI3DR5Z95C06K2KPIx7Oto5+xl4dL1dxqBVX+sM2DkU8biGjx5eHmtJBTw0sLYYI2xxtGA1owApEUSk3qaU6MKemvPcIiKpqEREBz1tFT3ClfTVMYfG8bx07x3rPWWqnsl3fYa6QuhdvpJHDiOn9cwtSs5rSk27Wyvjb+NRyBwdnBAJx8cHwWkHfuvc5eIjhXax1Xut0aNFBRVAq6GCpAAE0bX4HLIyizOlNNXROsvrE+kz2y3Ny500+0Wjhjhk+Z961CzFxHb6\/tsR3tigLz3H1z8gtKetzn4rOnh5tL3NOiIszpCq9QWkXi2OhbunjO3C7OMOHLxVoilOzuis4KcXF6MpNM3h1yonQVORWUx2JQ7ie\/696u1lb\/DJZLvDf6VhMbjsVTG7sg8\/H4gLTQTxVMDJ4Xh8cg2muHMK00tVuYUJvOnPVe62ZIiIqHSEREAREQBERAEREAREQBERAFU6oexmnKwyEAFgAz1JGFbLKXaR2odQQ2mnkcKWlO1VObkAkHePDGB3k9FeCzuc\/EStTaWryX5LnTzXN0\/RbXEwh3nvRWLWhrQ1oAAGAByRVbu7m0I4YqPI9WXtxNbrq4VAI2KaLshjruHyctO5wa0ucQABkk8lmdEtMtNXVx41NQd5OScb9\/8AEVaOUWzCtnUhHzv6GnREVDpCIiAjngiqYHwTMD45BsuaeYWZtUx03dzZKl5dTTnbppnZ4n9U8vLn7VqlVags\/wBsW\/s43BlRE7bhf0d0z0P06K8Xs9DnrQbtOHiXv5FqipdPXsXGie2p\/CqaU7Ewdu9h92\/vVtHUQSu2Y5o3nGcNcCqtNOzNIVIzipLckREUGgRFHDNFUR9pDKyVhONpjgR5hASIiIAiIgCIiAIvl72RsL5HBjWjJc44AWbuGpJq2b7OsEZnnfuNRj1GdcfX4q0YuWhlUqxprMn1LfH0jG2+3ntLhOdkNZvMY6+3p5rrsNmZZ6HZd69TLh08mSdp3\/mVFY9PQ2kGeV5qKyQevM7fjqB9eKuVMmksKM6dOUpdpU12XL7CIiodJWaiq\/QrDVyhwa4s2G+127d5r40xSeh6epWEEOe3tHZ\/e3\/DCrtYF1ZNbrRGSDUzbT8HG4bvmT4LSta1jAxow1owB0C0eUEuZzR71eT5K3rn8HzNPDTsMk8rImDi57g0e9V0+p7NTkB1fG8k4xHl\/vC4W6PgqKmSoudXNWPc8luTs+ryzjn7McArKn0\/aKUfhUEP+8bePPKi0EMVeWiS65\/oqXa5pJHbFJQ1VQ7kA0DPllefeC\/1gIobA+Mng6YnHv2VpmMZG3ZY0NHQDC+lOKOyI7Kq\/FP0S+zMGm1jUuya2lpWnfsgAkd35T8V8jStyqT\/AGhfp3tI3sjJx7zj3LUonaPYn+LB+Jt9Wz8\/vmm6eyT01UXTz0bnbMxyA9p65x\/WO9aiz2G1UL211BtuMjPVeZCQWlWVXSxVtLJTTt2o5W7Lgs5p2pmtFzk09WuJAJdTPPAt44+ftyrYnKOpgqNOjWTtk9PJ\/ZqURFiegfLmtewscMtcMEdQoqOip7fTNp6WIRRN4NBJ954qdEIsr3M5Uau9CnkbV2msijY8hsmzucM4zvwPeumDV1kn3emdmekjHD34wrkgEYIyCuOezWyp\/TUFO49ezAPnxV7w3RzuNdPKSfVfB4L3aXDIudJ4zNHzXv21av2nR\/8AO36riOkLCTn0Dj\/qv+qfdCw\/5D\/uf\/8ASdzzF+J5R9X8HRNqGzwN2n3GnI\/cftnyGVVy6ybUF0VooKismA47B2R3nG\/HDorGHTFlgOWUEecY9Yl3xKsooYoGCOGNkbBwaxoAU3gthhry1aXTP9mYZYrxeyJL7WmKHORTQ4Hnjd8StDRW+kt0AhpIGRN54G93eTzXSiq5Nl6dGEHfV83qERFU2CIiAzFKPTdfVUp3to4Axud+CQPLi5adRMpaeKZ80cEbJZPzvawBzvaealVpO5lSpuCd922ERFU1CIiAIiIAqjUFodc6aOSmLWVlM7bhe7hnmD\/XEBW6KU2ndFJwU4uLI4O19Hj7fZ7XYG3s8NrG\/HipERQXQREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JIMENA HUERTA",
    "correoContacto": "jimena.huerta@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "9",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "988388432",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"28983\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:01",
    "ubicacionGPS": "LatLng(lat: -22.3456805, lng: -69.6666527)",
    "horaLlegada": "10:34",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 11:00:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 11:00:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3068', 1, 21773342, 79971, NOW(), 
				'08:00', '10:34', '11:01', 4, 'Mantenimiento, cambio repuesto,
limpieza, pruebas varias', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781190055.png', '', null, 'COMPLETADO','LatLng(lat: -22.3456805, lng: -69.6666527)' )
				
[11/06/2026 11:00:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200687
[11/06/2026 11:00:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200687', 'TOS-R1289', 1)
				
[11/06/2026 11:00:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28983 and
				    IDproducto = 'TOS-R1289'
				

11/06/2026 11:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1289';
                
11/06/2026 11:00:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200687'                    
				WHERE idllamado = 12263			
				TO ENVIO: micorreo@miempresa.cl, jimena.huerta@eplicancabur.cl


11/06/2026 11:00:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12263			
				
11/06/2026 11:00:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 11:00:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 11:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 11:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

[11/06/2026 11:00:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:00:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:00:57 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:00:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:00:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:00:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 11:00:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12263
            GROUP BY l.idllamado;
            

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:00:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12263
                

11/06/2026 11:01:03 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 11:01:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[11/06/2026 11:01:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 11:01:03 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WFC5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 08/06/2026
        )

)

11/06/2026 11:01:28 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:01:32 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:32] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:33 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:01:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:01:37 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:37 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:01:39 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:01:39 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

[11/06/2026 11:01:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 11:01:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:48 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:01:49 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:49 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:01:49 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 11:01:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:55 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:01:56 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:01:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:03 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:02:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:03 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:02:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 11:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 11:02:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 11:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:12 - INPUT: {"rutTecnico":"9291721"}
11/06/2026 11:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[11/06/2026 11:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:12 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:13 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 11:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:13 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:13 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:02:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:14 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:02:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

11/06/2026 11:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:14 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

11/06/2026 11:02:15 - INPUT: {"rutTecnico":"9291721"}
[11/06/2026 11:02:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:02:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

11/06/2026 11:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

11/06/2026 11:17:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:17:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:17:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:23 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:24 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:24] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:17:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:17:31 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:31 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:17:33 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:33 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:48 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:50 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:17:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:17:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12981
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO TAMBOR
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3050
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:17:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:18:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:18:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:20:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                
=========================================
FECHA: 11/06/2026 11:20:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-o.P-ovtiDkTDPc_0S5hcxbe7otiHPIB6ehj08B_udqoEAPK7EI9
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3050",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "18376",
    "contadorColor": "15573",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes varios\nlimpieza general, pruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12981",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB5ANYDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABCEAABAwMBBAYGBQoHAQAAAAABAAIDBAURBhIhMVETQXGRobEUIjJhgcEVFjNSkyM1QlRVYqKy0eElU2N0ktLT8P\/EABgBAQADAQAAAAAAAAAAAAAAAAABAgME\/8QAMREAAgECAwMLAwUAAAAAAAAAAAECAxESITETQVEEFCJhcYGRobHR4TJSwSMkQvDx\/9oADAMBAAIRAxEAPwD7MiIgNc73R08j2DLmsJA5nChdMahfemTR1LI46iI52WAgFvYSev5KeXzKzufbIKe9MLthtUYZgOtmGn5nwWsIqSZxcoqypVINaZ38j6aixY9skbZGODmuALSOsLJZHaEREAREQBERAEREAREQBERAEWmqq6eihM1TMyKMcS4qtzaprLlKaawUT5TwM8g3N+HAfHuVoxb0MalaFPJvPhvLUuKe82ynJEtfA0t4jpASOrgFCjTd1uX55vDyw8Yafc0jwHgV2QaRssJ2jSmZ3W6V5OfhwU2itWUx1pfTG3a\/wiXgniqYWTQvD43jLXDgQti1wQRU0LIYWBkbBhrRwAWxUOhXtmEREJCIiAIiIAqdpSgjuWkqyjk4STuAP3Tstwe9XFVjQP5jm\/3Lv5WrSLtF9xy1UpVoJ8H+Dbo+tkdRy2ypyKihdsEH7uTjux5KxKq3+OSyXuC\/QD8jIRFUtHWOfcO8BWeKVk0TJY3BzHtDmuHWDwKia\/kt5PJ20nSlrH03GaIiodIREQBERAEREAREQBQl51JFQPFJRs9LrnHZELN+yffjyXJdLvV3StNosb8OH29SDuYOQPz7lI2bT1HZ2BzB0tQR607xvPZyC0SUc5HLKpOo8NLTe\/YjaTTVRcpG12oZnSyfoU7ThrByOPId5VjhghpohFBEyKNvBrBgBbEVZSbNadGFPTXjvCIiqahERAEREAREQBERAaK2f0ahqKj\/AConP4chlQuiIej081+COllc7t4D5Lo1ZVCl07U7smUCIfH+2V1WSk9BstJTnGWxguwOs7z4laaQOZ9LlC6l6\/4dFZSRV1HLSzDLJWlp93vVf0xVzUNZPp+tdmSA5gd95vHHzHx5Kzqu6stskkEd2o8tq6LDst4ubn5bz3pB36LFeLjarHVeaLEi47Vcortb46uHdtDDm\/dd1hdio1bI6IyUkmtAiIoJCIiAIiIAq5qa4zyTw2O3uIqqojbcP0Wb89nDPYPerC5zWML3HDWjJPIKtaRiNbLW3mcbcs0pbG4\/ot93Ljj4K8Mrye45q7cmqa3+m8mrVaqa0Ubaenb73vPF55ldqIqt3zZvGKirLQIiKCwREQBERAEREAREQBERAVjVbvTbjbLO3f0solf7mjdw7NpWYAAYAwAqtp\/Yu+o6+7vGRCeigOc7t4z3Dx+KtS0nlaJy8n6TlU4vLsWQXhAIwRkFeoszqKnTOOmtTmh4W+vO1Hkew49Xfu7CFbFG320svFtfTnAkHrRPI4O\/vwXLpe6y19G+lrDispHdHIHcSBuyfI9i0fSWI5Kf6U9m9HmvyicREWZ1hERAEREBoronz0FRDEdmSSJzWnkSCAq5pe82+it7bZVSilqIXO2ulw0OySePDOCBv5K1LhuFnoLm0irp2vJGNsbne7eOXzPNXi1azMKlObkpw1XE7GSMlbtRva9vNpyF6SAMk4AVbfoS0vdlslUwcmvGPEFYjQVqBz09Wfdtt\/6paHErjr\/YvH4J2e50FN9vWwRnk6QAqLqNZ2WAHZnfMR1Rxn54C9g0bZIfap3ynnJIflhScFsoKb7CigjPNsYBToIfuJcF4v2IL64zTAOo7JV1DXDcQD8gUFy1ZVetBaYYG\/6p3+JHkrOiYluQ2NR\/VUfdZFY9D1hPnbuNLAOTWgn+VPoPUn7f\/hKs6JjfAc2jvbfeysGm1hSkllbS1beoOaAfIea9i1bJSVZpr3b30RPsyN9ZuPn2jKsy1VFNDVQmGoiZLG7i1wyFOJPVEOjOOcJvvzXuewzR1ELJoXh8bxlrmncQirmlS6juFytW298cEmY9o5wM48sdyKslZ2NaNTaQxMs64b1WegWaqqQcOZGdk\/vHcPEhdyrGsXuqXW+1Rl21VTAuDeQ3fPwSCvJEV54Kba1O3SVGaPT0AcAHSkynHv4du4BTSxYxsbGsYMNaAAOQWSiTu7l6cMEFFbgiIoLhVW\/Rvsd6gv1O3EMhEVU1o456\/DvA5q1LTV0sVbSyU07dqOVuy4K0ZWZjWp7SNlqtO0ziljnhZNE8PjeA5rhwIWaqenLmy0ekWa6TshfSuzG57sAtPUM9ufj7lIzavskJx6WZDyYxx8cYUuDvZFIcppuClJpMm0Ve+u1m+\/N+GVNUVZBcKSOqp3bUUgy04x7j4qHFrVGkK1ObtF3N6IiqahERAEREAREQBERAEREAWEsscEL5pXhkbAXOceACzVWv1TPebrHYKJxEYO1VvaRubkeXmQrRjdmVWps4337u02aTaa2puF5I2RVS7LG7\/VA58+pFYKanjpaaOniGGRtDRnjuRJO7uKNPZwUXqbVRq+90ketTUVfSOhommOMMAd6\/X18ye4fC419U2hoJ6p5wImF3DO\/qUNo6jdHaX1k2HS1ry9xI4jJxnxPxVoWSbZhyhSnONOL6\/D5H12s335vwyn12s335vwyps0dKTk00RJ\/cC89Cpf1aH8MKLw4F8PKPuXh8kC\/Xdobwjqn7+pg+ZWP1xfUZbQ2eqnfyO7HcCrIyKOP2I2t3Y3DCzS8eA2dd6z8isGq1dXD8jR09Cw7w55Bd458l4NM3esGblfZCD7UcWdk+Q8FaEU43uQ5tF\/W2+\/2KPfNJU9st\/p1M+WcwvDpWTEEPbnfwAVltlDaJaKGpo6GnDJGBwPRgnsJUhLEyaJ0UjQ5jxhwPWFXNMPdbblW2CV5eIT0sLiMZacZ8x4qcTlHsMlShRqqyyl6\/JP8AoVL+rQ\/hhbWtaxoaxoa0cABgBZIsjtSS0C46C5Q3HpzAyQCCUxkvbgOI44XYikNO6CIigkIiIAiIgCIiAIvHODWlziAAMknqVZuOpZK2U22wsdPUP3OnA9Rg5g\/Ph2q0YuWhlUqxpq7NuoNQPgeLXax01fN6vqb+j\/v5cSuywWSOz0p2j0lTKdqWQ7yfdn\/7evbJYaezw5+1qn75ZncSfdyClVMpJLDEzp05OW0qa7lw+QiIqHSV3WdS5tsioIz+UrZQwb+oEHt44U5SUzKOkipowAyJgaMDkFXqwfSOu6WnIBjoYuldg538R2by1WdXllFI5qXSqTn3eHyERFQ6QiIgCIiAKsX9sdu1Ha7m1hBlf0Urg7AxuAOOJ3E9wVnWuSGKYsMsTHmN20wuaDsnmORVouzMqtPaRstTYiIqmoREQBEXPX00lXRS08NS+mkeMCVnFu9CG2lkdCKsmDVtAdmnngroxvaJcbXYTuz3rz07Wf7Jo\/8AmP8A0V8HWjn5xbWL8CzoqwK3Wbt30XRtz17Q3fxoafWVT7VVSUoPEADPkUwdaHOOEJeBZXvZGwvkcGNaMlzjgBQlbq6200nQ05fWzH2WwDaBPLP9Mrlbo19Q7aud3qar90bh45U3Q2mgtrQKSljjIGNsDLj2niptBdZF689Fh82QbrffNRD\/ABKT6Pojv9Hj9t3LP9+5T1BbqS2U4gpIRG3rPW48yetdSKrk3kaQoxg8Wr4sIiKpsEREBAWuiqY9VXOsmgcyOQBsbzwcN39FPoilu5nTpqCsv7cIiKDQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "ESCUELA PEREZ CANTO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO TAMBOR",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:21",
    "ubicacionGPS": "LatLng(lat: -22.3456777, lng: -69.6666499)",
    "horaLlegada": "10:34",
    "horaDespacho": "11:01",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 11:20:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 11:20:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3050', 1, 21773342, 18376, NOW(), 
				'11:01', '10:34', '11:21', 3, 'Mantenimiento, ajustes varios
limpieza general, pruebas varias', -1, 
				'', '','1','15573',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781191257.png', '', null, 'COMPLETADO','LatLng(lat: -22.3456777, lng: -69.6666499)' )
				
[11/06/2026 11:20:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200688

11/06/2026 11:20:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200688'                    
				WHERE idllamado = 12981			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl


11/06/2026 11:20:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12981			
				
11/06/2026 11:20:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 11:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:20:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:21:00 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:21:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12981
            GROUP BY l.idllamado;
            

11/06/2026 11:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:02 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:04 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12981
                

11/06/2026 11:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:40 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:40 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:44 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:44] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:50 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:50 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:21:50 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:21:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 11:21:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

11/06/2026 11:21:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

11/06/2026 11:21:55 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

[11/06/2026 11:21:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:55 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:21:55 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

[11/06/2026 11:21:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

[11/06/2026 11:21:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:21:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:21:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 11:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 11:51:32 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:51:32] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:51:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:34 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:51:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:51:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:51:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:35 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:51:35] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:51:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12989
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DESECHO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3074
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:51:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:51:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:56:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:56:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                
=========================================
FECHA: 11/06/2026 11:57:17
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-0rzwYIsm4.OY68Bqj2eEhTkaRdCGjEwFOSdAIsmZAVPabm6QQd3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3074",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "120456",
    "contadorColor": "51148",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes, calibracion, limpieza general\ncambio repuesto, pruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12989",
    "observacion": "el Kit de alimentacion de papel de bandeja 1 presenta desgaste\nproximo mantenimiento cambio de kit de alimentacion B 1",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABeAK8DASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xAA8EAABAwMBBQUGAwUJAAAAAAABAAIDBAURBhIhMUFhIlFxgbETFDKRocEHFdEkMzZC8DdDRFJ0wtLh8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC0RAAIBAwICCQQDAAAAAAAAAAABAgMRMRIhQWEEEyIygaHB0eEUM1GRUnHw\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiALgkAZJwAvGrrKegpn1FTKI42DeT6DvKzDpbnq+RzIC6itQOC8jtS7\/wCt3DvyrRjffgY1Kyg9KV2+BOuerKanf7rbm+\/VbjstZHvaD4jj5LwFLqy4bT5quGgaSC2NgBI8xn6lXFtstBamYpIA12MGR29x81PVtSXdRmqVSe9SXgtvk6RNc2JjXu2nBoDnd5XdEWZ1BERAEREAREQBFlX6tkpdRzUVW1jaRj\/Zh7WnLTyJOVqQQRkHIKtKLjkyp1YVL6eByiIqmoREQBERAF0llZDE+WRwaxjS5zjyA4ld1m9WzTTvorPA4tdWSdsg47I7+m\/PkrRV3Yyq1Org5EWkp5NXXF9ZVlwtlO8tgi3j2nU\/f5LWMYyNgZG0Ma0YDWjAC8qOkhoKSOlp2bMUYw0L3SUr4wRRpaFd955YRFAuV6oLUzNXOGuxkRt3uPkoSbwaSlGKvJ2RPRZc32+XQkWe2bEBOGzz7sjHEZ3eqDTl5rSX3G+SNyc+zi4fYfRX0WyzD6jV9uLfkvM1CLIVlDW6WiZcKa4zVEDXgTxSnIIPDC1kMrJ4WTRnLJGhzT0O9VlG26L06rk3GSs0d0RFU2CIiAx1NboLpqG+0k47LwMO5tOdxClWS5VNsrxYLo7LwP2aYnc9vIfp4YSx\/wAYXny9VY6hsrbvRdjs1UPaheDjB7s9xWzavpeDzacJaeshlN+Kvj2LZFS6bvLrlSup6rsVtMdiZh3E43bWPXqrpZNNOzO+nNVIqUQiIoLhERAFmNQEQ6ps88hDIwSC4nA\/retOoV2tcF3oX0s+7O9jwMlju8K0HZ7mNeDnC0c5\/RNUG43mgtUe1VzhriOywb3O8AqeW3aoYBR09xh93xhszv3gGOZxnzUm3aUoqWQVNY51dVk5MspJGe\/GfXPBW0xWWUdSrLaEbc3\/ALcrxU6g1Ic0Y\/L6Bx3SO+J49T5YHVWVs0pbLeNp8fvUx4yTDPyHAK6AAGAMALlQ5vC2Jj0eKeqfafP0RwAAMAYAXKIqHQUesntZpmpaeLywDx2gfsrC0NcyzULHDDm08YI7jshUGopTerxSWGneCxrvaVDgfhxy8QM\/MLVNaGtDWgAAYAHJaPaKRy03rrSksKy9TlERZnUFDkqKtl0hgbSbdK9hLpw74HDkR8vn0UxFJDV+JmLcSzX9ziB7JgDsdewfuVp1mG9n8Q34Hx028+X\/AEFp1afD+jn6NiS5szeorVPBOL5a8tq4d8rBwkb1Hh81bWi6wXegZVQnB4PYeLHcwpyydfSz6XuT7tQs26Gc4qIB\/J1H27s45qV2lbiVmupl1i7rz7+5rEUaO4UklJFViojbDNjYe5waCTy38+ikrM6k08BERCQiIgCIiAIi4JAGScAIDlVGob4y0UezGQ+sl3Qx8Tk8yO71Ki3PVDGTChtEfv1Y\/cNjexp6nn6dVzY9Ovp5vzG6vFRXvOQSciP9T6cloo23kcs6rqPRS8XwXye2nLM62076mpJdW1XbnJOcHJOPrv6q6RFRtt3ZvTgqcVGIREUFwiIgMxVn2f4h0Ib\/AHlMdrruf\/xC06zFd\/aJbf8ATH0kXvcdQ1Hvz7baKM1VSw4fJnLIz1x3dcb1rKLdrfg4qdSNPW5fy9EXVVV09FCZqmZkUY4lxWarNRzXlklBZbe+oDwWvllbhgB6frjwXvDpaStnFXfqt1XKOETDhjen\/mFoIYIaaIRQRMijbwawYAUdmPNl2qtXPZXn8GBjs7LJc6aO+xiajlHZc152GO4nO8cD88+S+gggjIOQVDu1tiu1ulpJd20Msd\/ldyKr9MV8r4ZbXVNLamgIjOf5m8Afp6KZPWrlKMFQnoWHj29i9UOskr2VFK2jgjkhc\/FQ57sFje8fVTEWaOySurXCIigkKJcrjBaqJ9XUB5YwgYYMk5KloiIldrYzT9UV0wIoLHUSk5Ae\/OB44HfnnyXjHYbzeSZL3Xvghd\/hoTj58vVatFfXbCOd9HcvuSb5YXkQbZZ6K0RGOkh2S74nk5c7xKnIiq23k3jFRVoqyCIigsEREAREQGYvJNPrS0VGPjaY\/Uf7leQW2mpq6orImFstQB7TecHHRedxtMNxnpJpHFr6WTbYR5foPlz4KeruV0jnhStOTf5uv1YIiKh0BdQ1ocXBoBdxIHFdkQBERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "NELSON MARQUEZ",
    "correoContacto": "jimena.huerta@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO DESECHO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1265\",\"id_control\":\"28987\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -22.3456702, lng: -69.6666436)",
    "horaLlegada": "10:34",
    "horaDespacho": "11:21",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 11:57:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 11:57:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3074', 1, 21773342, 120456, NOW(), 
				'11:21', '10:34', '11:57', 3, 'Mantenimiento, ajustes, calibracion, limpieza general
cambio repuesto, pruebas varias', -1, 
				'', '','1','51148',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781193437.png', 'el Kit de alimentacion de papel de bandeja 1 presenta desgaste
proximo mantenimiento cambio de kit de alimentacion B 1', null, 'COMPLETADO','LatLng(lat: -22.3456702, lng: -69.6666436)' )
				
[11/06/2026 11:57:17] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200689
[11/06/2026 11:57:17] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200689', 'EPS-R1265', 1)
				
[11/06/2026 11:57:17] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28987 and
				    IDproducto = 'EPS-R1265'
				

11/06/2026 11:57:17 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1265';
                
11/06/2026 11:57:17 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200689'                    
				WHERE idllamado = 12989			
				TO ENVIO: micorreo@miempresa.cl, jimena.huerta@eplicancabur.cl


11/06/2026 11:57:18 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12989			
				
11/06/2026 11:57:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 11:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:22 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:57:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 11:57:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

[11/06/2026 11:57:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:57:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:57:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12989
            GROUP BY l.idllamado;
            

11/06/2026 11:57:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:24 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 11:57:24] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 11:57:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 11:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 11:57:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12989
                

11/06/2026 12:02:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:07 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 12:02:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:02:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12986
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2374
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:02:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:02:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            
=========================================
FECHA: 11/06/2026 12:10:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sHy7uvtPQwGpUHTS3NKde5suUitLkQr_ltLwOuqYT0+fc.8CVY8
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2374",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "BAQUEDANO S\/N 1340000",
    "ciudadmaquina": "TOCOPILLA",
    "departamentomaquina": "ESCUELA CARLOS CONDELL, SECRETARIA",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se retira maquina y se cambia por otra\nFirmado por margarita muñoz",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12986",
    "observacion": "Se retira maquina y se cambia por otra\nmaquina no reconoce toner\nno se puede sacar contador\nfirmado por margarita muñoz",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABbAFcDASIAAhEBAxEB\/8QAGgABAQEBAQEBAAAAAAAAAAAAAAYFBAMHAv\/EAD4QAAEDAwEEBwQGCQUAAAAAAAECAwQABREhBhIxQRMUImFxkbEjUYGhBxUyQtHhFiQlN3SCosHCNENS0uL\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAsEQABBAAFAQcEAwAAAAAAAAABAAIDEQQSITFRQRMiMnGBobFhkcHhM9Hw\/9oADAMBAAIRAxEAPwD7NSlKEJSsC67QyG7iLXaYwky9Csk9lA55\/PhXKtO2cZvrJdiyd0ZMdKRk\/IfI04YeqzuxDQSACa4C1tobg7bLM9KYA6RJSE55ZIFceyl8dusZxiX\/AKljGTjG8kjQ+Oc\/Ks+7XqPe9lJW77KQ1ul1g\/aT2wPiPSvIqRarlZbs2d1qawhp\/XA+ykZPyP8ALVAzu0Rqsz5z2we092h7mvZWlKUqC9FKUpQhKUpQhK833kx47jy\/stoKjrjQDNelT+2cwx7IWG8lyUsNgBOdOJ\/D40zRZpTlf2bC7heOxUYqhSLm6MvTHSd7XgD395NU1clrhC32yPEGPZIAVjmeZ88110PNuJSwMyRhqltq9nESWXblD9m+hBU6kaBxI4\/H1rjU2m6fR+2pte89B7RAOqd0nP8ASc+VWa0BxCkK4KBBr5pZpL9pmLQ4cxXnDGkIPAcskefkaswlzfJYcS1kcl1o4EH+1fWWb9Y2eNKJypSAF5P3hofmK76mthnVKsrjKs5ZfUn5A+uapai8U4hboHl8TXHhKUpSqyUpShCVMbQ\/rG09kinglZcIGudQeH8vrVPUxO\/eJbf4Y+jlPHus2J1YByR8qnrnlzo0FtLkp5DSVKCQVHGTXRUnty2p\/wCrY6TjpXinhzOB\/euMGZ1J55DHGXBVSFpcbS4hQUlQBSRzFQ0i3pk3u9WtojLyQ+1jmtOuP6lCui33VTWwMkrV7RgqYTk9rUjHkFcuQ7qybWiTado7YuSey8lBQeA3VjGPgVHyqzGltrz55myZARvv9L0Wz9H6lFmehR1C0Eg8cnP4VYVK7MgRtpb1FGgK99IA5BR\/7CqqpyeK1rwekIHF\/KUpSprWlKUoQsuDeeu3iZb+r7nVf9zfzvfDGlZk794lt\/hj6OUt2Iu3dxZWrHWGgtHfwP4+VL8ep7WWedyXlknHfj\/OrAAOocLz3PLo7d0d+VT1MbVe0vNjYHORk+G8n86p6mLz7XbS0MjUpSV48z\/jSR+JXxX8dckfKmrw05Eu820tJV0T8hDgSkdxIAHP7Xyqk23hJNoZktpCVRVgA44JOmPPFbki0wZU1uY8wFvNjCVFR4a8uHOubaeP1nZ2Yj\/igLzjhukE\/IVTtLLVmOFLI5L67fKmtmZnWtspcgKGH0rx4ZBHoKuq+cbNPQ7demZDskIaMYqUpemFcx8q23brddpFqj2ZtUaHndXKXoT4fgNfCuyMt30S4ScNio6kk6BbLt\/gNXVu29IVPrOCEjIScZwe+tOsq1bPW+0IC0IDj4GVPuaqzzx7q8J+1luhudCyVzJBOA2wM68teHlmpFtmmrYJCxuaYgf73W5SsC0SNoZ88SZjKIcIAjoFJ7avdx19PClKRRpUjeHiwK81zbSfs2\/Wy8cEb3QunPLw8CryFeu27Di7O2+0Dvx3gvI5DB19K17pb27pb3YjhI3x2VD7p5GsOxv9dgydnLppIYBb7RzvJ5EeGnyqrToDwskrKc6Po\/bzVHGeTJitPpOUuoCx4EZqcYPXvpAecAyiExugn34\/9Krysd6RZUSLTdl9GqHktKI+2njgf28e6suy38RFTH24y5NxnPdhsDgOPHxPAe7lXQwi6SSYhjsmY1rZ9P2r9a0NoK3FBCUjJUo4AqduO0zUnpIFojKuD60lJKQejAOhyefp31jyCJbod2mu6UIGohx1bxGvPdyB61+n9qo0aCYVktpZQ4koQ4rQ54ZwM5PeTQ2P1RJirB1yj7n7dPVcWzNljz50g3FWGYY7Sd8AE5PE+7Q1RStrIjCkwrPFMx0dlKWk4QPDHH4aVORtnTEvkKDdj2JI3iltfPXAJ\/D31fwrdDt7fRxIzbIxglI1PieJ+NdkIuzqp4SOTIWt7vJ6qdXZ79fV5usoRIx16Bk5J7j+ZNbltssC1IxEYCVYwXFaqPxrvpUi8nRb2QMYc255KUpSkV0qL2meTOvCY9uiSTc4xA6Zvs4HHy146VaV+QlIUVBIBVxIHGma7KbUZojK3LdL5xc03N2Ux+kQkIZbTjfaaSefvGAfM8e+veFZ7GpIWNot1Kh2kFPRnw1NfQVJCklKgCCMEHnWa7s3Znlby7ezkknsgp9KqJdK2WI4Eh1jved\/hTnS7LWlITCj\/Wcs6JBBXk+W75DNaNmtEuVcBerukIeAwwwBgNjXiPjp58a2odrgQDmLEaaUfvJTr58a66Qv4V48NRBdWnQbftZdxtBn3WBM6UJTDUVFO7kqOmNfhWpSlISStQYGkkdUpSlcTJSlKEL\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA DEL CARMEN",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56981579047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:11",
    "ubicacionGPS": "LatLng(lat: -22.0939659, lng: -70.2044603)",
    "horaLlegada": "10:43",
    "horaDespacho": "18:12",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "Maquina no reconoce toner",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:10:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 12:10:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2374', 2, 19969062, 0, NOW(), 
				'18:12', '10:43', '12:11', 2, 'Se retira maquina y se cambia por otra
Firmado por margarita muñoz', 2, 
				'Maquina no reconoce toner', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781194240.png', 'Se retira maquina y se cambia por otra
maquina no reconoce toner
no se puede sacar contador
firmado por margarita muñoz', null, 'COMPLETADO','LatLng(lat: -22.0939659, lng: -70.2044603)' )
				
[11/06/2026 12:10:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200690

11/06/2026 12:10:40 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '61980920' AND 
				serieinterna = 'KY2374' AND
				correlativo = 2;				
		
11/06/2026 12:10:40 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'KY2374'
		
11/06/2026 12:10:40 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2374'
				   AND estado = 1
				
11/06/2026 12:10:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:40 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'KY2374'
				  AND rutcliente = '61980920';
				
11/06/2026 12:10:40 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'KY2374', 1, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
11/06/2026 12:10:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200690'                    
				WHERE idllamado = 12986			
				TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


11/06/2026 12:10:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12986			
				
11/06/2026 12:10:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12986
            GROUP BY l.idllamado;
            

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12986
                

11/06/2026 12:10:49 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:50 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:10:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:10:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:52 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:52 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:10:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:10:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12985
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:56 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:10:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:10:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:10:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:11:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:11:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:11:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:08 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        
=========================================
FECHA: 11/06/2026 12:12:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.ZKV3kRgqtlZcBfTG8IG2uMXSVfEhYdldv_84o9NdjRRITrm4AO
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2151",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Escuela carlos condell",
    "ciudadmaquina": "Tocopilla",
    "departamentomaquina": "Direccion",
    "rutTecnico": "19969062",
    "contador": "126753",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora Kyocera\nFirmado por Margarita Muñoz",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12985",
    "observacion": "Instalacion impresora Kyocera\nFirmado por Margarita Muñoz",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAF4DASIAAhEBAxEB\/8QAGwAAAgIDAQAAAAAAAAAAAAAAAAYEBQIDBwH\/xAA7EAABAwMCAwQJAgUDBQAAAAABAgMEAAURBiESMUETIlFhFBUjcYGRobHRMsEHkrLh8EJSwiRigqLS\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAgMEAAEF\/8QALxEAAgECBAQEBgIDAAAAAAAAAQIAAxESITFRBDJBoSJxscETI2GR0fAFgRRC4f\/aAAwDAQACEQMRAD8A7NRRRWmhUO5XWHaY\/bS3eEHZKRupR8hWdwnM22C7LfUAltJIGccR6AeZpdslsXepPr66J4uM5js5JSkA8yD9PnRqotc6RFWowIROY9hvMk3TUV6Qly2RG4TCjs68QSR47\/g1kbLqZfeVfUpPUJScfameiu49hB\/x787Enzt6RYMLV8UZauMeSkckrABPzT+9et6qkwnUtXy2riBRx2yASjl8c\/Ammatb7DUllTLzaXG1DBSoZBrYwdROfAZc0c\/3mJ5HksS2Q9GeQ62eSkHIrbShOt83SzyrhaCVwSQX4xOcDx8cefMeYpjtl0i3aImRGXkH9ST+pB8CK4y2FxpDp1sRwOLN+6SZRRRQR8KKKK00Vr8pV41BFsaSUso9rI3xkc8c\/Dy600JSEpCUgAAYAHSljTeZuobvcjy4+yQT1GfwlNNFMfKwkvD+LFU3PYZCFFFU2q56oFgeU2rhceIaSffz+gNABc2j6jhELHpJrF1gSZSorMptbyM5QDvt96mUj3G0eobRbbmwnEqO4C8QMcXFuQfDH6fjTqy6h9lDzZyhxIUk+R3omUDMRVGqzEq4sR7zIgEYIyDSrd7PIsi13exKDIQnL7GMpKRzIHh\/gprrFaEuNqbWkKSoEKB6iuK2Ew6tIVBbr0O0j22e3c7ezMa2S4nJTnPCeo+BqVSpp0rs19l2J1Xsl5djk9f8H9JprrOLHKcoVC6XOoyPnCsHXA00tw8kJKj8KzqLciRa5ZBwQwv+k1waxrGwJlJoVChZXXVc3ZClZ8RgD75plqh0YANNsYHNa8\/zGr6iqcxiOFFqK+UKV7sn1rq+Db+MhqKnt3AD154+ifnTRSnYpDdx1lcpiFApDQQjcHI7oyP5frXU6mDxBBwpufTOXt8i+mWSYxjJU0SkY5kbj6gVE0lKErTsbfKmstq28Dt9MVdUsaM9iq5whsliTsPmOX\/jWGaGdfw11O4I94z0UUUuUxZ1glUQwbwyD2sV3hODjKTvv5bY+NMjbiXW0uIOUrAUD4g1W6kjelaemN4yQ3xjb\/b3v2o03J9K09DczkhvgO\/+3u\/tTDmgky+Guw3F\/b8S0qNcklVslJG5LKwP5TUmtbyO0YcRjPEkjHjtQDWUMLgiUuiyDptkDotYP8xq+pb0MvisS0cQJbfUMDpsDTJRVOYxHDG9FfKeKUEpKlEAAZJPSuWWd6RbZRujA4moriUOgHOUqz+Dv44rpVyBNrlgDJLC\/wCk1z3TqfSY11gYz20UrSMZypByPvTaXKZHxtzVQDXP79J0pC0uNpcQoKSoApI6ilrT3sdUXtg7Faw5j4k\/8qnaTleladjEqypoFs+WDt9MVBgey\/iBcUHk5HCh8kf3oALYhKHfF8KoOp9QYz0UUUqWTFxtLram1jKVgpI8QaWtErW1Fm29w9+LIIPlnb7pNM9LFkPZawvDPRWF7fD80a8pEmq5VUbzHb\/kZ6KgMXePIu0i2oS520dIUtRA4Ty5b56+FT6Ei0erBtIr2A+r9UXS14w2s9s2noOu3wUPlTRStqULtd7g3xCSptHsnQByG\/7E\/KmZp1t9lDzSwttYCkqHIijfOzSfhzhLU9j2M9WgOIUhXJQINcqskv1ffIzxIKQ5wL6gpOx+hrqMt70eG+\/kDs21KyemBmuQpRllZ5EYUM9RnB+pFNoi4Mi\/kWwuhGoufSPujCY\/rG2q5xpB2z47f8frQ6Qx\/ENo54Q9FPFnbOAf\/n6VTWzUMe33adMWFOekNIUlCBupwgEjy3J\/vWud6Zdr9Ddu7SoDMhPAgggENjOefLmefjyrYTiJO0EVl+EqrmQfePjU6I+8plmS044kZUlCwSPfipFJelLfHfvT1xhoKIcf2bXGMqWSNz5HH3FOlJdQpsJ6VCo1RMTCFLFu7n8QLmgcjHCvoj80z0sWf2mtru6eaUBH2\/FZNDBr8yefsYWXu6yvCTsSAQPLb80z0sQ\/Z\/xDnAcnIwOPDZH4+tM9Z9RNw3Kw+p9ZplxWpsVyM+nibdTwqFLFhuZskpVguZKChZ7B47JUDy+Hh78U21Tal9UKt5TdVBI5t4\/Xn\/t\/zFZD\/qZq6kWqKbEb9RtPdVSfRdOS1A4U4kNjz4jg\/TNIlwej9hCTCKuJmMG5DgT3cqySP\/Y7\/KrO12a6X9tpEqQ+i2tEltTh3I6YH+AdKbTp+3i0uW1pgNtODcjckjkSeppoK08pE6VOKu4Fhbr9\/wBMU9LwRB1YuLKS2taG1FtWMgnYhSfhW3VcqLdb\/Ct6Fn2TnZOuDcAqIBA8xVVKiXWBdI7JdKpqEpQyGiCQncD7dehrdAQxJk2uPHjvmUJPHLWsbnvDl7gFH50y2eKShzgNEC2f4y\/ek6DChR7fFRGjNhDaBsPHzPnUiiio574AAsIUsaZ9tf75IBBHbcKTnORlXX4CmKU8I0R584w0hSznyGaodEMFFlXJXkrkvKWSeoG33Bo15SZPUzrINrn295rmf9Lr+E5\/pkMFJ9+FfgUxvPsxmi6+6hptPNSzgCqHWMV4wWbjGWUuwXAvbqPH4HH1rJ6zxtSGNcXpTyoymgfR0q7vF193gfdREAgExalkd0UXJNx\/c0StUvTXTDsEZcl47F5Se4jz\/udvfW23aWBfE68vGbLJzg7oT4Dz+3lV3EhxoLIZisIZQOiRjPv8a31wvbJYxaBY4qpudugngAAwBgCqfUN89VNIYjI7WbIPC03jOM7Z+fTrUi93hmzQFSHCFOHZpvO61fjxqghJbtrZ1Ff3CZr2Sy0f1JHQAeP2BrIvUwa9W3gU2PU7D87S0sNk9WoXOnrDk90FTrijngHgD9zWatQ2dFzQwhYckuKDfE23kjyJqqah3TVa+3nOLh23i7jCdisf51PwFMUG0wLakCJFbbIGOMDKj7zzrrWv4tYNLEQBTFl3OpkyiiilS2Uer5no1icaTu5JIaQnqc88D3ferC0w\/V9qjxeHhLaBxDOcE7nfruedUEngvus2WAOONbgSvfbjB5fPhHng010xslAktLx1WqdBkPfvNbzKJDDjDgyhxJSoeIIwaWNOyV2S4vWCarGVccZZOygenx++aa6qNQWRF3h5R3JbXeZcBwc+GfCuKRodIVZGyqJqO42lvUS53Fi1QXJb57qBskc1HoBVbp2+KnNmFOy3PYylaVbFeNsj9606h09NvdwYKZaW4iE95J\/0nO5A6n31gtms041YtSxUhcxb9aOXG4JmPNemTVnEWKndDQ8T4+7yyelMdt0y49K9ZX1z0mUf0tHdCPz7uXvqztNjg2ZrhjN5cUMLdVupX49wqxomqdFiaPCkeKqbn9+8KKKKVL4VV6guwtFsU8nd5w8DKcZyrxx4CpsyZHgRlSZTgbbRzJ+w8aWrbHe1LeReZjXBDY7sdpQzxc9z9\/lRqOp0k9aoR8tOY9vrLPTNoNqtvE9vJkYceJ5g9En3ZPzNXNFFCSSbmNpoEUKughRRRXIcpL7YRcOGZDV2FwZ3Q4nbix0P5qLE1WI0gwb4yYshBx2gGUK8Dtyz8RTLUeXBiz2uzlMIdT04hunzB5g+YowwtZpO9Fg2OmbHsZsaeakNhxl1DiDyUhQI+YrZS25oqGhwOwZcmGsdULz\/AH+vSsBpW5k4XqaYpPUd7cfz1sK7znxKw1T7ERgkzYsNIMmS0yDy41gZqilayilXYWth2dIVskJQQnP3Py+NZxtF21tztZS3pjhOSXVYBPjt+5q7jxI0RHBGjtsp8EICftXfAPrOfPfZe5\/EXI2n7hdpKJuoXspQcoiI\/SPfjb9z40zpSlCAhCQlKRgADAArKihZiY2nSWnprv1hRRRQxs\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA DEL CARMEN",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "56981579047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:12",
    "ubicacionGPS": "LatLng(lat: -22.0939645, lng: -70.2045086)",
    "horaLlegada": "10:42",
    "horaDespacho": "12:11",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:12:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 12:12:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2151', 1, 19969062, 126753, NOW(), 
				'12:11', '10:42', '12:12', 1, 'Instalacion impresora Kyocera
Firmado por Margarita Muñoz', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781194328.png', 'Instalacion impresora Kyocera
Firmado por Margarita Muñoz', null, 'COMPLETADO','LatLng(lat: -22.0939645, lng: -70.2045086)' )
				
[11/06/2026 12:12:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200691

11/06/2026 12:12:08 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61980920'
				   AND serieintmaquina = 'KY2151'
		
11/06/2026 12:12:08 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2151'
				   AND estado = 1
				
11/06/2026 12:12:08 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61980920', 'KY2151', 1, 1, now(), 'Escuela carlos condell', 'Tocopilla', 'Direccion');
				
11/06/2026 12:12:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200691'                    
				WHERE idllamado = 12985			
				
11/06/2026 12:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                
TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


11/06/2026 12:12:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12985			
				
11/06/2026 12:12:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:10 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:10 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:11 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12985
LIMIT 1;
        

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12985
                

11/06/2026 12:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:16 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:12:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:17 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:17 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:18 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:12:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:18 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:19 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

11/06/2026 12:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:28 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 12:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:12:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:12:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 12:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:30 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 12:12:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:12:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:14:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:14:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:14:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:19:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:35 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:19:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 12:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:19:38 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 12:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:39 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:39 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:19:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:19:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:19:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:19:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 12:21:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:13 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:13 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:14 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:29 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:30 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:30 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:30 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:21:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:37 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:21:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:21:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:21:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:21:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:21:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:10 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:22:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:31 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

[11/06/2026 12:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

[11/06/2026 12:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:34 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:22:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:22:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 12:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:22:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:25:00 - INPUT: {"rutTecnico":"24456550"}[11/06/2026 12:25:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/06/2026 12:25:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 12:25:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 10/06/2026
        )

)

11/06/2026 12:25:01 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 12:25:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:25:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12995
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L6490
            [SerieInternaMaquina] => EP2908
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:25:04 - INPUT: {"rutTecnico":"24456550"}
11/06/2026 12:25:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

[11/06/2026 12:25:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:25:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12995
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L6490
            [SerieInternaMaquina] => EP2908
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:25:07 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12995
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L6490
            [SerieInternaMaquina] => EP2908
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:25:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:20 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:21 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:27:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:21 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:22 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:26 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:27:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:26 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                
=========================================
FECHA: 11/06/2026 12:27:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jy.GwZLOAnoIxKz.yL++Qy2uxRih51mPUow96yTmj8VyXuJg_b2
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77513443",
    "serieinterna": "EP2908",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "2278",
    "contadorColor": "16151",
    "contadorScanner": "0",
    "detalle": "•Entrega 1 caja de mantención, recibe Emerson",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12995",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC6ATIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABKEAABAwMCAgcFBAYGCAcBAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUy0eEWIzNCUvAkNENzktIHJVZigqLC8SY1NlNUZZOy\/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAIDBAEFBv\/EADMRAAIBAwIDBgUDBAMAAAAAAAABAgMRIRIxBEFREyIyYZHRcYGhweEjsfAUM0JiUlPx\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBZKHVszL7PDVtY2gbM6JsvD90jlk+XxWtWJs9tbc6O+W5+GyNqMtcf3XZdj5fNWQSs7mPiZVFKKg85+dlsbZFRaUuMlVb3UdST7VRu6OQO545DPpjyV6oSVnY005qpBSXMIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCy9iHs2rrzTHnIRL8c\/8AWtQsvVN9g19TT78FZFwuOOvGMeob6qyGbozcRhwl0f74I18e\/TWoo7vBHxw1TS2WMHGT1\/Q+q09trm3K3w1jGFglbnhJzjqVdq6mhqNPTulwHRYfGe\/\/ALZXxoudkum4Y2kF0LntcOwlxPyK68wvzKqd6fEOF8NX+ZfIiKo3BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERR62uprfTunqpmxsHWeZ7gOtDjaSuyQsdrSvggrrfJDI11VSycZYOYGQdz5cl0ddb1qJ7o7REaSjzwmpfs4jrwfw3711qtJUlNYqxsQdPVuj4umfu4kb4HZnkropRfeMFacq8Gqax1+HQr7narvcbbPc7vUBgjjL4qaLk3x7PiVx0PXPprgaOQYiq2lzCf4m9nx9Fc0lV7foGVxI4o6V8bsf7rT9APVZmnge3TEV0gBbNQ1py4H90hp+ePVWLMXFmSaUKkKsM4v8ev0P0tFypahlVSxVEf3ZWB437RldVlPaTuroIiIdCIiAIiIAiL4mlbBC+V\/3Y2lx8AgK0aioTeDa8uEwJbxHHDxdnPmrVfnUFuln03PfASKuOq6Zr2jfAIz8cnyW7ttY24W6CraMdKwOI7D1j1Vk4JbGPhq8qjan8V8CUiIqzYEREAREQBERAEREAREQBERAEREAREQBERAF4SAMk4AUO5XWjtMHS1cobn7rRu53gFnf9catPXQWw\/4pR9fl4qcY3y9iipWUXpjmXT+bEy46pzUGgs0HttWduIbsb+Py71zotLS1k4rr\/O6pn6oQ73Gjs2+Q28VdW21Udpg6KkiDc\/ecd3O8Spq7rtiJBUHN6qzv5cvyfLGMjYGRtDGtGA1owAvSARgjIK9RVmox9sH2dV3uxudwtcx0sIA2ALfwLfQr50XBFXWKvo5OT5N8cxkDB9Qu+soJKWSlvFO0cUWYpT2tIwPm4eYUX\/R7J79dF2hjh8fyWl5g5HkR7vExpPZX9Hn8FjoyreaGe2TjhmoZC0juJPyIPwWkWWBbatekbNiuMXgA78y3\/mWpVNTe\/U3cM3o0P\/F29voERFA0hUmrbk+22R5iJEs7uia4HduQcn0B9QrtUOshB+jsrpYw9wc3oyf3XE8\/TKnDxIo4htUpNPkddKTz1On4JaiV8r3F3vvJJIDiOZVyoFjpvZLJRw9bYgT4nc\/EqeuS8TJUU1Tin0QVFrCuNJY3wxgmWqcImhvPB5\/DbzV6stdCLjragos8UdK3pXjPJ33uXk31XYLNyHEyap2W7x6l1RW1sFijtr+XQdG\/xI3+ZVToiZ32ZPRSbPpZi0jsz+eVpVlrf\/q\/XVdTcmVjOlb3nn\/mXU7pohUSpzptbbe37GpREVZrCIiAIiIAiIgCIiAIiIAiIgCIiAIi41NVBR07p6mVsUTObnIcbSV2dSQBknACzly1LNNUm3WKL2mpzh0o3Yz6efJRJKq56ukdBRh1HawcPmd96Tu7\/AeZWjttrpLTTdBSR8LScucTlzj2kqyyjvuZdc62IYj16\/D3Km26VY2f267ymurHbkP3Y0+HX8u5aEAAYAwAvUUXJy3L6dKNNWigiIolgREQES6Qx1FrqopW8THROyPJYfQkwjvr4yf2sDgPEEH5AreVv9RqP7p3yX5lQVBtVRbrixpAy4P\/AN4BxBHofkr6SvFo8vjJKFaE+nujX6zidFTUdziH6yjnB7Nj+YHqtFDKyeFk0ZyyRoc09x3US6UzLpZaiFmHiaImMjrPNp9cKFpCrNVp2AO+9CTEeXVy+BCg8w+BrXdrv\/ZX9C7REVZpCyWtqkSvobazikdJLxvij3cRyHrk+i0F3uLLVbZqt+5YPcb\/ABOPIeqx+kmTXbUk1yqXF7omlxcf4jsB2cs+itpq3ffIw8VU1NUFvL9jeN2aMDG3LsXqIqjceOcGtLnEAAZJPUsxpNjq2uuN5eD+vk4I8j93mf8ApHl1qw1TXGgsFQ9riHyjomEHG55\/DK72Gh+zrLTUxbh4ZxP2weI7n548lYsQb6mWXfrpf8Vf1wvuWKy2qf6DebVdRhrWSdHI4\/w5z8i5alUmrqU1WnajhGXRYkG\/Yd\/hlcg+8iXExbpO26z6ZLtFnIdX2yntNO+acyVBibxRRtyc4we4brgLzqO7Y+zbYKWI4xLN8xnAI8AU7OXM4+Kp8svosmpJAGScAKqq9T2ejB461kjh+7F75Pdtt6qsZpKqrSH3q7TTn\/24j7o8z+AVrR6btFEP1dFG93W6UcZ+PLyXbQW7uc115+GKXx9l7kGl1Y64VsUNDa6mWJzw18p2DR29nxWiXgAAwBgBeqLaeyLqcZxXelcIi4VdZTUMJmqp2QsHW44z4dqiTbSV2d0XxFKyaJksbg5j2hzXDrB5FEOn2iIgCIiAIipb7qFlq4aanj9orpf2cLQTjsJxv5da6k27IhOcacdUiVdr1R2enMlQ\/LyPciafef8Az2qjpbbX6mqWV15aYKNhzDSjbi7z+PM9yk2jTskk\/wBp3siorH4Ijdu2Ps25Z+AWjU7qOFuZ1CVZ3qYj09\/Y+Ioo4YmxRMDGMGGtaMABfaIqzWEREAREQBFxqqymooulqp2Qs7XuxlZm5a6p4n9FboDUOzjjfkN8hzPwUowlLYpq16dLxs0tb\/Uaj+6d8l+W1FTTyWeipwSZopJC8AYwDw438lovYNQ36llnudS6lpWtLhEG8Jdtn7vZ3lRYaGGTQE1Q2JgmbNxF+PeIDgMZ8+S0QSjzPM4mUq2ysrPfnsy40bWzxNms9aHsngw9jH8wwgbeWQfNNLZo7zd7adgyXpGDflk\/QtXC6CVlJbdTUTeKWKJgnA5ObjfPqQfyXlJWQv1vT1lOcxXGm37jjceOWBRaum\/5csjLQ4RfJ4+DNiiKPXVIoqCeqdjEUbn79eByWc9RtJXZkNUVRr7u+HY01siMknYXnGAc7bnhHqrrSFJ7NYY5X7y1LjK9x5nPLfwHxWUMc01rghwfarxVGRx4d+AHA78cRJ8vX9EhiZTwRwxjDI2hrR3AYV9TEVE83hV2lZ1H\/L\/ix0RFAuV6oLUzNXOGuxkRt3cfJUpN7HoylGKvJ2RTapHtt5tNswCx8vSSd4z+ActBV3CjoGcdXUxwjGRxuwT4DmVhhW1+otUCotf9Gkjiw10mDwM5E8uvi+Kv6PR9K2b2m5TyXCoJyTIcN9OZ8z5K6UUklJmClUnOU5U1e73e2PqRK\/XLBG422kfLh3CZphhgPVy+uF0Gn7xdnl96uRjhcP6vTu28D1fNaRlLTxxCFkEbI2nIY1gAHkuqhrS8KLuwlN3qyv5bIyOlKKC33auoKiKN1TA4OikLQXcJ7+rbB81rlDZa6Zl1kuYDvaJI+jJJ2xt1eQUxcnLU7llCn2cNPxCIolfc6O2xdJV1DIh1And3gOZUErlzkoq7Ja4VdZTUMJmqp2QsHW44z4dqzh1Ddr090VioeCMbGpmxt9Pn4KRTaTZLOKq8VclfPj7pOGD+fLwVmhLxMzdu5\/2lfz2X5OMmobleJXQafpP1YOHVco2HgDt658F1pdIxSSCovFVLXz88OceAd3b\/ADyWgiijhjbHFG2NjRhrWjAHkvtc12xHB1cPqd6r1P6eh8ta1jAxjQ1rRgADAARfSKBpCIiAIvCQBknACy9xvNTeqs2mxu90\/tqsHZo68H69fUpRi2VVasaazvyXU73rUb46gW2zs9prnbEt3Ef0J+S72LT4txNZWP8AaLhJkvlJzw56hn5qTZrHSWWAsgBdI4frJXc3fgO5WSk5JK0SuFKUpdpV35Lkvz5hERVmkIih1t1oLcM1dXHEcZ4ScuPkN11K+xxyUVdsmIsxNqyatzFY7fNUvzjpHtw1vf8A98LjLZLlVwGfUF6MMOPeijIa0dmeQ+BU9HXBmfEp\/wBtX\/b1Li4aktVtBEtS2SQf2cR4nZ+nmqC4amus8fSU8bbZTH7ss+ON47gRv5A+K4QSUoqfZtM2oVErSM1k7eIMPaM7Dtzt4K4t+kYWze2XaY11Ud3B+7AfA8\/P0U7QhuZnOvXdoPHlt68\/kZagsNy1BVOn6SQwk71NQCC7wGTny271t7Vp23WlrXQwh8wG8z93eXZ5K0a0NaGtAAAwAOpeqE6jlg0UOEp0s7vqcK3+o1H9075LOaap\/a9Fz045yiVo8SNlo63+o1H9075Kl0R\/6dZ\/euRYgztRXrxT6P7HujpW1emWQyNDmxufE4HrHP5OWWr6V+n9S08fEfZopmzRF2\/ukjPyx5LQ6VxSXa7245HBNxsHdkj5cKkazoYqqxvndgS0x4oyTjmRkenyCsUrVLcmZJ03U4ZS5x+3\/hoFnta1L4rIKeMnjqZWxgDmRzPyHqott1vQighbXdI2cANfwMyPFV+q75S1k9A+klErIS6RzcYIdtgEHwUYU5KeUW1+JpyoPTLf7kmxUorNTl4DHQWuFsDCNwXAYz68Rz\/3Whul8oLQzNVN75GWxMGXO8urzWQsLL\/UURprfH7NFK8vlq3ghzs9hP0Wmtel6G3v6eYmsqicmaYZ37QOr4ldmlfLI8NKo4WprfLb2+XUr\/a9Q6h2pI\/syjd\/au++4d3X6Y8VPt+lLdRSdPMHVlQTkyT+9v2gfjkq7RVub2WDVHh431T7z8\/Yy8f9E\/0hvHCAKumw3yA\/yLULM6ujdSS0N6iBLqWUNeB1tO\/4j\/iWihmZUQRzxnLJGhzT2gjIXZZSZyj3Zzh539ToiLnPPDTRGWeVkUbebnnACrNLdjoolfc6O2xdJV1DIh1And3gOZVDPqesuU5pdP0hl3wah7fdb34PLz9F2odJRmUVd4ndX1R5hziWD6n5dys0JeIyuu54oq\/ny\/JwdfLvfSYrJSGCA7Gqm29PyyVLoNIUMD+nrnPr6knLnzEkE+HX55V6xjI2BkbQxrRgNaMAL6XHPlHB2PDpvVUep\/T5I+WMZGwMjaGNaMBrRgBfSIoGkIiIAiIgC+JZY4YnSyvDGMGXOccABfRIAyTgBZN7anV9e5geYbRTvwS07zOH8+SlGN9ymrU0WSV29hV1tXquqdQWxzoaBhxPUEY4+4fh19a0VttlJaqYU9JHwt5lx3c49pPWvGOt1qgbTiSCljaDhrnhvjzUOq1VZqTZ1a2V2OUIL8+Y2+Kk7yxFYKoqFN66klq\/mEXCLLu1mag8FstVVUu7SMD4Z70DtX3H92nt7D1nBP1Kdm+eCX9VB+BN\/BGiqKqnpI+kqZ44WfxSODR8VQ1Os6YyiC2UstdMTgBoLR8sn0SDRsD5RNdK2evkB5Odhvh1n4q+paOmoouipYGQs7GNxlO4vM5+vP8A1Xq\/YzZodU3cj2uqZboCd2Qn3seX1KmUOkLTRtD54zVSAHifMdvTkly1dQ0Uvs9M11bUZx0cXLPZn8MqCbZfdREOuc3sFJzFPH94jv8Az9FPvWzhFFqWq0Vrl6\/hEuu1PRUZFFaom1dSfdZHCPcBx2jn4D4KNDp+43qRtTqCocGA5ZSxnAHjjl8+9Xlss9DaYyykhDSRhzzu53iVOUNSXhL1QlPNV\/Jbfk401LBRwNgpoWRRt5NaMLsiKs0pJKyC5PqYI38Ek8bHfwueAVn7lqGerqDbLCzp6gnD5xu2MdueXmlPoylMZlr6iaorHnidMHkcLu78\/gp6Ul3jO60pO1JXtz5F1dJ46a11Msjg1oidu44GSMAeqyWnNUW602hlLUCYyB7nHgYCNz4rndK+ehs1bYrjKZJWlgp34JLmcQO+3YB8exXFprbbaNL0UlZJG0uYXAEZc7JJ2HPrVijaOcmWVV1K14vTZZvyzsUY1A1uqpK62QvmNXGI+ieOHLth1Z7F3rqKMsFVqe6P6VzS5lJEQXNJ7v58VDvlyq7o2K5U1vfSU1M73JwMOJOMb+XV6rSWnSlvhDKuoca6aQB\/HLu3frx1+eVNtRSZRTjOrKUVlb5ws87bv9jD0Mdwjpp62jD2xRjgne0g4B7ua71Vtpn3C309BO+oFXGwue4b8RcQdurGFqLbGyh1jcrc9g6Gsj42txsevHhu70VdHbodMaqilqmZon8XQyncMJ7e8fmpa8lP9PaKvtez8s\/c3LGNjjaxgw1oAA7AvpeAgjIOQV6sZ9AEREBwraOKvo5aWcHo5Rh2DuvqmpoqSmjp4QWxxt4WgknA81Du19obPHmplzIR7sTN3O\/DzVHw33VI4i77Nt55AZ43j6\/AeKmotrOxmnVhGdoq8vL79CddNV09NJ7Lb2e21jjwhjMloPeRz8AosGm627zNrNQVBPW2ljOGtHYezy9VdWuy0Noi4aWLDiMOldu93iVPXdSXhOKjKpms7+XL8nOCnhpYWwwRtjjaMBrRgBdERVmpK2EEREAREQBERAEREB4QCMEZBWeqdFW6eofPFNPA6RxcRG4YGeobbBaJFJScdiupShU8auZ6HRNnjJMjZ5yTnMkn4YVhS2C00ZDoKCEOachzm8RHmcqxRHOT3ZGNClHaKPAABgDAC9UC6XmhtEXHVy4cRlsbd3O8AqEz6i1GcUzfs2id++7Z7h8\/TA711QbzyOVK8YPSsvov5gt7vqOhtA4Hv6aoP3YYzk+fYqltLfdSjNa826gJ\/YtyHvHf+forGxWG10AdNTvFVOHFr5nEOLXDmB2fNXa7qUfCVqnOrmo8dF92QLbZaC1MxSQBrsYMjt3HzU4kAZJwAotxuVLaqU1NXJwszgAblx7AFnIqe66qnE9U59HbObI2HeTv\/P0XEnLLZOVSNO1OCu+iNa1wc0OaQQRkEda9WRpLjPpeae2VFLUVEbiX0rmniLtskZ228BtvzXangvd\/PTVkj7dSnIELMhz2kD+crui2b4Irib4S73Tp8y9rrpRW2IyVdQyMdQJy4+A5lZ2Wqr9XOdT0JdR29v7SV\/OUE4xt4HbPip9Jo2zUrw90T6gjl0zsj0GArKrr6C0U4NRLHAwD3WDmfABE0vDlnJRqTX6rUY\/zmLda6S1U\/Q0kQYD95x+87xK6VtfSW6HpqudkLOriO58BzPks2\/UF2vbzDYqMxRZwamUcvoPiVIoNHwNl9qus76+oO54yeH8T5+iONszZyNVyWmhHHXZfkptRag+1qJ\/slvcKdpDXVcjN\/Adnr18grew6Uo4qeCsrc1U7o2kNk3YzbYAd3evjWTOOnttshYGNnqAAGjAGNgOz95ahrQ1oa0AADAA6lKUrQVsFdOjqrydTLViBe6IV1kqqZoGTGSwbcxuPiFG0nVGpsEDXk9JATC4HmOHkPTCuVlrTxWbVlXbHuDYKsGaAdWc8h5ZH\/CFGOYtF1TuVYz649j2+Zo9XWitGwlzC49XPG\/8Aj+CvLrbYbtQSUk2wdu1w5td1FU2uYSbPFUs2fBOCHAcgQfrhaKGRs0LJW\/de0OHgUb7qZyEV2lSD2dn6\/wDhntM3KeGZ9iuW1VT\/ALNx\/fYPy5d3gtIqDVVqNTStuNM7o6yj95rwcEtG+PqPzVezV1bc6eKltVE99a5o6R5GWM7T\/wB11x195EY1ew\/Tn8vNe5p6yupbfAZ6uZsUY63dfgOZWcffrrfZTT2OmMMOcOq5ByHd1D4nwXeh0oZZhWXypdW1HUwn3G\/j8AtExjI2BkbQxrRgNaMALl4x8ydqtXfur6\/gpLTpWjt8ntNQ41lUTkyS8ge4fU5V6iKDk3ll8KcaatFWCIi4TCIiAIiIAiIgCIiAIiIAi8JAGScALPXHVJ9pFFZqf26pJIJAJYMc9xz+Skot7FdSrGmryZfT1ENLC6aeRscbRkuccALNy6lrrpI6n0\/ROkAOHVMow1v09fReQaYrLlOKrUFWZd8inY73W92Ry8vVaWCCGmiEUETIo28msGAFLux82U\/q1f8AVfX8FJbNLRQS+2XOT26sceIufu1p7gefn6BX6IoOTe5dTpxpq0UZW42aosdSbvZeJwyTUU5JIcOZwry2XelutCKqB4AA\/WNcd4z3qcszc9KSyVjqm1VXsntALKhgzgtPMjHyU01LEihwlReqmrp8vujjbIG6mu810q2l9JTvLKaNzMNPLBz18skdpWrAAGAMAKBSxUVhtkUEk0cMbBgve4N4j1nqyVW1OsqLj6G3QT185HuiNhAP19AjTm8bCEoUI\/qPvPc0SrbjqC2WsllTUjpAP2bBxO+HLzVMaPU19a32udltpzzjjyHEeufUhWlu0varaWvZT9LK3+0lPEfTkPRNMVuzvaVangjZdX7FT9rX7UDuG1U\/sVKT+3k5nz\/DPip1BpGhgf09c51fUuOXPm3GfDr88q\/Rcc3ssHY8Or6qj1Pz29DxrQ1oa0AADAA6l6iKBpMxcv6Xrq2043bBEZHdx3P0b6rTrL2P\/WOrbpccEsh\/Uxnq7Nv8Px71qFZPkjNw+VKfVv2CzOr430r6C8RA8dLKGv4eZae\/yI\/4lpln9TXe1Mt9Rb55elmlbwiKL3nNd1Z6hg4XKd9R3idPZO7t78iXfoW3HTVT0ZBDoelYT3e8PkqWh1dFDZqOmghkqq\/gEYiaDsRsMnwGdvgq+ywXW\/U32W+u9mpKQcErMe+Rk7EfDuxyVpo2COkrbpRFjTJTy8Ik4feLckYz2bA471bpUYtPNjEqs6tSMoYurX+GQywXa9yie+1ZiizkUsR2Hd2D4lfFyof0XuEF1t7C2jOI6iIOJwO3+evxWuXOogiqqeSCZofHI0tcD1hVqo752NT4WOnu+LrzEE8VTAyeF4fHIOJrh1hdFk7LUSaeuj7HWuxTyOLqWV2wOerP87+K1ijKNmW0anaRzut\/iERFEuCIiAIiIAiIgCIiAIiIAiIgMnfa11zuv2I6qFDAMGR7\/dMvdvjvxzB28FfWu3UNtp+homtwN3Ozlzj3leXGyW+64NXThzhjD2nhd4ZHPr9VUO0Ja9jHPVRuHWHj8FbeLVr2MWirCo56VL52+RpXODRlxAHaVyfV00TeKSoiY3tc8ALPt0LQFwMlZWPwcj32jHwXWPRFmYcubO\/udJ+GFG0OpZrrv\/Bev4J8uorPCSH3GDIOCGu4vkoE+trPFtE6aoJ5COMj\/wDrClx6XskZBbb4zj+Il3zKnU9DR0mPZ6WGHAxljAF3uC3EPml6sz41He67\/wAusTw3mHzE4I+A7OtDb9V1+fablFRsI+7CNx5jf4rUImu2yH9O5eObf0\/YzlNoqga7pa6eetl6y92AfLn8Ve01HTUbOCmgjhb2MaAuyKLk3uWQo06fhQREUS0IiIAo9dM6noKidgJdHE5zQOZIGy7PeyNhfI4Ma0ZLnHACoa3WVugeIqQPrpicBsQOPXr8sqUYtvCKqtSEF3nY90ZSOprC2SRhbJUPdIeIb45DPpnzUi46ntdtJY6bp5gcdFD7xz39QVSaXUeoMCocLXREfs2\/eI7COfrjwVza9O260gOgh45R\/aybu8uzyU5ab3kZqTqaFCmrJc37FZ\/4hv8A\/wDU0bv\/ANXD5\/LzVnbNPW61YfDF0k3XNJ7zvy8laIoub2RfGhFPVLL6v+YMnduKw6pp7o0Ypqz9XPjYA9p+B8iultIi17cY8+7LAHtI5HZp+pV5dbdFdbdLSS7B49138LhyKyVhp7kzVcTKuN5NLEYnvIwOEA8O\/XzHl4KyLUov4GSpGVOrFJYbv7+5uURFQekVGpbT9q2p4jbmoh\/WQkc8jmPMfHC+tO3YXa1skcf18XuTAjk4dfnzVqsxQ4t+uKqlibwx1UXSFo7eedu8u5qxZi10MtT9Oqprnh\/Y06IirNQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBS3XVVvtNS6mmbM+ZoBLWNHWM8yQqWt1lc5QRQWx8TTyfIwuJ7wOQ+K2HQxdJ0nRM4z+9wjPquisTiuRklTq1G7TsvgfmXtFRXVImvUVfVhvKNjeEfl5AK9ob2KCMx2zS9SGkZy0El3ieElbBFJ1E+RXDhJQd1PPWyv6szH6U3X\/Zis9Xf5E\/Sm6\/7MVnq7\/ItOihqj0Luyq\/9j9EZj9KroN3aZrAOs+9t\/wAi8GtDjez1efD8lqEXdUeg7Kt\/2fRGY\/Tmkj\/rNvrIuz3QfmQn6fWr\/wCPWf4G\/wCZadFy8Og7Ov8A8\/p+TOR65s7xlwqGdzox9CV3ZrKxvbl1W5h7HROz8AVcSU8EpzJDG89rmgrg+022Q5kt9K89roWn6KaUXyKpzrQ\/yT+X5KabWtG9xit9LUVk5+61rMA\/X4L7sVtrpLjNeboA2eVobHFv+rb2d3Z6q9hghp28MMTIm9jGgD4LoouSWEiyFOU2p1JX8tkERFWagiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD DE INVERSIONES GRENETT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAJA DE MANTENIMIENTO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56930703720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R994\",\"id_control\":\"28992\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:28",
    "ubicacionGPS": "LatLng(lat: -23.758131, lng: -70.2914057)",
    "horaLlegada": "12:10",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:27:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:77513443

[11/06/2026 12:27:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('77513443', 'EP2908', 2, 24456550, 2278, NOW(), 
				'08:00', '12:10', '12:28', 10, '•Entrega 1 caja de mantención, recibe Emerson', -1, 
				'', '','1','16151',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781195248.png', '', null, 'COMPLETADO','LatLng(lat: -23.758131, lng: -70.2914057)' )
				
[11/06/2026 12:27:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200692
[11/06/2026 12:27:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200692', 'EPS-R994', 1)
				
[11/06/2026 12:27:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28992 and
				    IDproducto = 'EPS-R994'
				

11/06/2026 12:27:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R994';
                
11/06/2026 12:27:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200692'                    
				WHERE idllamado = 12995			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl


11/06/2026 12:27:28 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12995			
				
11/06/2026 12:27:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

11/06/2026 12:27:31 - INPUT: {"rutTecnico":"24456550"}
11/06/2026 12:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12995
            GROUP BY l.idllamado;
            

[11/06/2026 12:27:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:31 - INPUT: {"rutTecnico":"24456550"}
11/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

[11/06/2026 12:27:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12995
                

11/06/2026 12:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:48 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:48 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 12:27:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

[11/06/2026 12:27:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:50 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:51 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:52 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:27:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:27:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:27:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:27:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12991
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2774
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:37:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:37:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:37:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:37:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:37:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:38:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:38:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:38:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:28 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                
=========================================
FECHA: 11/06/2026 12:39:28
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KqEKZWEyys+yHLOvnoj2euSCM0yEIMdkhGSCayWfsDJ-ZwAW5Mu
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2774",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Colegio Bernardo Ohiggins",
    "ciudadmaquina": "Calama",
    "departamentomaquina": "Biblioteca",
    "rutTecnico": "19969062",
    "contador": "16053",
    "contadorColor": "61793",
    "contadorScanner": "0",
    "detalle": "instalacion imoresora Epson\nFirmado por Brandom morales",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12991",
    "observacion": "instalacion imoresora Epson\nFirmado por Brandom morales",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADRANQDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABGEAABAwMBAwkEBQkHBQEAAAABAAIDBAURBhIhMRMiQVFhcYGRoRRSscEjMjR00SQ1QmJyksLh8AcVc4Ki0vEWMzZDY7L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAgECBAMIAgIDAAAAAAAAAQIDESExBBIyUUFhcRMiM4GRobHRI8EU8EJS4f\/aAAwDAQACEQMRAD8A\/syIiAIiIAiIgCIiAIiIAiIgCIiAIiICc0\/qKe53aroqlrByeTHsbhgHGMeOeKo1\/O6OR1p12WOcdl1Q5jt\/EP4Z8wV\/RFbZFJ6GPg7JTg1LdNhERVGwIiIAiIgCIiAIiIAiIgCIiAIiIAi4K69W+3TMhqqlrHuxzeoHO89m5dwIIyDkFdwyKlFtpPY+oiLhIIiIAiIgCIiAhNc07qa7UtfHuMjeI95p\/AjyVtSzippIahvCVjXjxGVl6ptrrnZJWRjMsR5VgxxxxHllfjSFWKrT0DS4F8JMbuzB3ehCtbzBeRhrXs+JkvCSybiIiqNwREQBcFbe7db6hlPVVLI5H78e6MdPUv3drgy12yasfgljea0\/pOPAeaj3Wgv0vWXqvzLV1ID2F36DdoYI7x6YVkIp6sy33Sh7sFrjPyLsEEZByCvq4LG90lioXOOSYGb\/AAXeoNYeDRGXNFMIiLhIIiIAiIgCIuW6TGntVXMOLIHuG\/G8NKLU5J4TZH0Vs\/6kprtcpMyzPcWU2d2zjnD0LR5qh0pX+32GAkgvhHJOA7OHpheejIuS03A7GDI57vUj5Lk0tinvV6o9zQ2baY3sy7o8lfJ5yux51MeR1y\/7J5\/JUIiKg9IIiIAiIgCIiAKC0\/XNsWpqu3THZgllMYJ6CCdk92D6hXqiL1aY6vWL6WTDPbYNqJ\/uvA4\/6MeKtrxqmYeLUlyThun+S3RTunr1IXG03Q8nWwHYBcR9IPmfjuVEq5RcXg1V2RsjzIIiLhYS2qXm4XW3WRh3SP5WUYPDw7A70Wjqhobpisa0AAMaAB0c4LPs2bhrC51zt7ab6FnV1fwnzXTrWcRackYeM0jGDz2v4Vd\/yjE8\/OarbH45+i0O+wfmCh\/wG\/BaC57fCaa200BzmKFjDnsAC6FU9zbWsQSCIi4TCIiAIiIAsnVEnJabrXdbA3zIHzWssHWb9jTc7ffewf6gfkpQ6kU8Q8VSfkzs09HyWn6FvXC13nv+ayYh7H\/aHI3orKfI39QH+wretrOStdJH7kDG+TQsK7HY11an8Mxluev62719VOOrfzKLVy1w8mv0U6IiqNoREQBERAEREAUvqrFJdrRcRkbE2w936uQfhtKoU5riIvsIkA3xTNdnpHEfNTr6kZuKX8LfbX6HZetPUt3YZMcjVtH0c7dxB6M9fyWdS6gq7RVC36gYRk4iqWjLXDrJ6e\/GesKjppRPSxTA5EjA7PeMpUU0FXCYamFksZ4teMhFLwkdlVl89bw\/s\/UU9TBVwiammZLGeDmHIX6mkEML5SMhjS7Hcp2TR\/s0zp7PcZ6Fzv0MlzT2deO\/K5rhRapprdUOku9PJTsicXgtG05uDkfV447V3li3oyDusivfg\/lho99FlsVlqq6oe1glnc9zicAAAeW\/K8JJjqq\/UwpWv9goH7b5SS0PORw8vLPBcli05U3W0wOqrhIyhcS5tOzpw48ejr61Z0tJBRU7KemiEcTBhrQpyajJtblNEJ2Vxi1iP58foeyIioPRCIiAIiIAiIgCmtdv2bCwb+dO0ejj8lSqY13zrVTRcNupG\/q5rvxU6+pGbi\/gSKSJnJxMZu5rQNym9Q\/R6osknvPLd\/DiPxVOpfWOI6uz1BOOTqeOeG9p+S7X1HOK0qz2x+UVCIirNQREQBERAEREAWVqaHl9OVrOqPa\/dIPyWqvGrh9po54D\/wC2NzPMYXU8PJCyPNBx7o4tOzctp6hf1RBv7u75LTU7oefldPiPO+GVzcd\/O+aol2axJkOHlzVRfkFn3\/8AMFd\/gO+C0FyXWE1Fpq4gMl8LgB1nC5HdE7FmDXkcelf\/ABqi\/ZP\/AOitdYej5hNpunG7MZcw47yfgQtxdn1MhQ81R9EERFEuCIiAIiIAiIgCmNc\/YaL7yPgVTqY1z9hovvI+BU6+pGbi\/gyKdTGufsNF95HwKp1Ma430dE0byakYHXuKV9SHF\/BkU6IigaQiIgCIiAIiIAiIgJfSI9nuN4ouDYqjLRnPS4fIKoUxbiYNe3KHOGywh4xwJw38SqdTs3yZuF0r5eza+4XwgEYIyCvqKBpJjRJdBDcKBxy6mqDn4fwqnUxbfyPXVxp88yojEo7TuPzcqdTs6smbhdK+Xs2vuERFA0hERAEREAREQBTGufsNF95HwKp1Ma5+w0X3kfAqdfUjNxfwZFOpjWHPqbRAOMlTu8wOHiqdTGofptUWSAbyx5kx4g\/wpX1DivhNd2vyinREUDSEREARfl72RsL5HBjWjJc44AWVUapstO\/ZdXMef\/mC4eY3LqTexCVkIdTwa6LOor\/a69zWU9ZGXv8AqsdzXHwK0Uaa3OxnGSzF5CIi4SJio\/J\/7Q6Y5wKinIPbud\/tCp1MagzBquyVA3bbzH6gfxKnVk9kzNRpKcfP8pBERVmkmL4fYtW2mu4NlzC7Hl\/H6KnU\/rOkdUWMzRtJfTPEgI6BwPxz4LRiu9IbTDcJ5o4Y5WB3OdwON47SCrHrFMywahbOL23\/AKZ3opqp1pTF\/JW2kmrZDwIGy38fQLCqdX3yolEMAjje7cGwsDyd3jv4rqqkyM+Nph459D+hIs+yC4C1xf3mQakkud14JyAejPciraw8GqMuaKZoIiLhIIiIApjXP2Gi+8j4FU6mNc\/YaL7yPgVOvqRm4v4MinUvDiu\/tBleMltFT4B6AcYx\/qPqqdzg1pc4gADJJ6FM6QDqqe5XVzT+Uz4YT1DJ3eY8kjomxd704Q88\/Qp0RcFzvVDaI9qrmAcRlsbd73dw\/oKKTexfKSisyeEdxIAyTgBT9w1ZDHUex2uE19UTgbH1Ae\/p8N3auItvWq3YcHW62noP1pR8\/h3qittqo7TByNJEG+8473O7yp4Ud9zNz2XfD0Xf9IxRp643cbd9r3hhIIpqcgNb4\/13rWprDaqVgZFQQbhjL2BxPiVoIoubZbGiuOuMvu9WT9\/sFLJQSVdFTsgrKcCSN8Q2PqnPRxOBuXfYa91ys1PUvIMhbsvx7w3fz8V11crYKOeZ+NmONzjnqAysTREbo9PNJ\/Tlc4d24fJS3hqV4UL1y+K1+RQoiKs1ExrT6JttqRvMVSMDr6fkqdS+vXtFogaHtEgqA4DPOxsu3j0X2XV01YTFZLbNVSZwXvZzG+R+JCt5XKKwYfawrunzPfBTEgDJOAFjXDVdqoCGCb2mQ\/oU+HevBYdfT1Dnbepb2KeN4yKSmJJ8gMeO\/vXnQVDntMemrGMtOPbKjBd5ncD2Z8F1VrdkZ8VJvlisfd\/Rf2dVXXX+70swMMNqoXAtdJUktJaeI39fYPFTdAKRsssJopLlPtbMDWuIYR1kDf4Kth0lNWETXy4TVUmciNj+Y3s\/4wuavpoNO6pt1VTxshpZ28k8AkAHgSfNp8FZGSWiMttNjxZPbz138tkItOXe5Ma2ulht9Id5pqVuPMDd5kqhttloLUzFJAGuxgyO3uPiu9FQ5t6Hp18PXB53fdhERQLwiIgCIiAKY1z9hovvI+BVOpjXRLLXSyZ5rakZA6dxPyU6+pGbi\/gSNDVFaaHT9S9rtl7xybMccu3H0yfBemnqP2CxUsJHOLNt3e7f88eCybo0X3VNPbRzqWiHKVG7ILur4DxPUqaYSGF4iIEhadgngD0Lr0ikch79sp+C0X9mHe9QyU9T\/dlriNRXvHADIj3fHp6utfLVpeKF\/tl0f7bWuO0XPJLWnsHSvfTllfaaWR1TsOq5nl0j2793QOHj4rZRyxpEQqdj57fku3\/oREVZqCL4SAMk4AWPX6rtFBkGpE7wM7EPO8M8PVdSb2ITshBZk8H51dXMo7BM0uxJUfRMAPHPH0yum2RRWexU8dRIyFsUeXl5wATvPHtKj5W3fU1eLpHFHT00W6N8zgI4wOnfx39OPgvsrLLDKJLrc6i71A3GOEkt\/ezvHcVfyaYPN\/yX7R2JabLOnz7m\/U6yotvkbdBPXzkc1sbCAfn5Bcr26pujDJPPFaabAJwcHHXniPMLxpKm81EYZY7LDboS0Yle0ZIzxyePkV1x6RlrHiW9XKaqcHZEbXENHn8sLmIx\/wBydzbd3fp7q+u7Jy8QWOlpXsp6yaurnkHls5aOvf2+K16GHUV2tsMVOYLbRbIAcwbLnjr3fyWjfLVQ23S9Y2kpo4zsNBcBlx5w4niVpWD8wUP+A34Lrn7uUcr4fFzjLTTw9fqcVv0ha6IiSSM1Uw3l8u8Z\/Z4eeVuAADAGAF9RUOTe56UK4VrEVgLD1fRGssEr2A8pTETNx2cfQk+C3F+ZI2yxujeMteC0jrBSLw8iyCnBxficdmrBcLRTVO1tOfGNs\/rDcfVdymdISPpX19nlJ26WUuZtcS09ngD\/AJlTLs1iRCibnWm9wiIolwREQBERAFNa8ANhjJOCKhuO3muVKv57q65PutW9tOCaShOw53QXkkZ9N3cetW1LMjHxs1GlrxZSaUtr6WgdWVIzVVh5R7nDfg7+rxW8vOH\/ALEf7I+C9FXJ5eTRVBQgooIvCqraWhiMtVOyJg6XH+sqXr9dNc\/kLVSPmkdua+QdPY0bz6LsYSlsRtvrq6mVc08NNEZZ5WRRt4uecAKcuOtqWIvjt0TqqRo3vI2Yx254\/LtWG6yajvr\/AGivcYmAE7VQ7YDR2NHDyC\/Bo9N20ZmrJbpP0RQDYYe8\/gfBXRrit9TBbxV0ulcq7v8A39njV3aSue511uEz27x7NSEBvnw8ecvtJaKq\/NZ\/d1DFTU8RwZJHZ2ndriN\/cBgZWtQ2CsvDg+pp2Wy3gjFNG3DpAOs8T3nwCsaenipYGQQRiONgw1reAXZWKOiK6eFla+ax6fd\/XwJmHRXKxsFyuM0wYObFHzWM7Bn5ALborLbbdg0tJGxw\/TI2neZ3rvRUOcnuz0ocPVDVLUIiKJectzoW3K3y0b3ljZQAXAZI3g\/JfuipW0VFDSscXNhYGBx4nC90XcvGCPKubm8QiIuEgiIgJW+AWbU1FeQHCGf6KoI4DdgE+G\/H6qqQQRkHIK5bpb4rpbpaSUbnjmn3XdB81l6Pr5Kq1Gln2uXo3cm\/a446PLh4Kx+9HPYyx\/jucfCWq9fH9m+iIqzUEREARcdbdaC3DNXVxxHGdknLj\/lG9T1brlrWyOoKGSaNhwZn5DQe7\/hSjCUtkUWcRVX1M0dTXeS30rKWkya2rOxCG8RvAz64H8ljXS2Udo0e+jfNGKxzmSuaXAuL8gEAdQGfVZc4qq94vdxuEdEX7omsB5Qt4cxvV258V509iqrpE+aipniFoJNRUv3uwOgD+fetEYqKWp5dt0rJPEc5WF6d8G0NdwwUNPHHSvmmbE0SOe7ZG1gZxxz0rwir9V6gGaUezwE\/XYNhv7x3nwXXoyz22e3NrpYBNUB5aeU3tbjqHDq3qvUJSjF4SNNNV10FKyenZEvRaIpmuE1yqJKubOXDaw0\/M+YVBS0NJRN2aWnjhGMcxoGe9dCKpylLc2V0V19KPy5rXsLHDLXDBHWFy0dqoLec0lJHE7GNoDnefFdiLmWWOKby0ERFwkEREAREQBERAEREAREQBTFnHIa3u0EeAx7BIQPe5p\/iK17peqK0QF9TKNvB2Igec49X81m6Vpah7qu8VTdiSuflrPdbk\/14KyKxFtmW1qVsIx3Ty\/JYKJERVmoKantGobjUvNTdhSwBxDW04IJbnd1epKpViXjVFHa9qGP8pqhu5Fh4d56PipwznQovVfLmx4XqeMOlbNbY3VNYTUbDcufUHmjwHzyp24TVerLgymtlOWUlOMMGNlo\/WPQO5fmmF11lcS2aZzKZh2nhv1GDqA6T3q+o6OCgpWU1NGGRsGAB09p6yrW3DfVmGFa4hYguWH3Zj23SdLTPFRXvNdU+9J9VvYB+Pot7ZGzs4GMYwvqKhyb3PRhXCtYiiWsbnWTUFVZJTiGY8tTE\/DyGO9qqVN6xpXNpqe6w55aikB3e6T+OPMrdo6uKuo4qqE5ZK0OHZ2Kc9UpFNHuSlV21Xo\/0e6IirNQREQBERAEREARFxVN5ttGS2oroGOAyW7YLvIb11JvYjKSist4O1FPTa3s8ZxEZ5z0bEeM+eF4nU12qvzfYZiD9WSXIB9AOHapezkUPiqvB59NfwU6\/MkjImF8j2saOJccAKaNNq6vcRLVU9DGdxEYBPhxPqkeiopiH3K5VVW8frYHrk9fSu8qW7HtrJdEH89DqrtX22lk5Gn262Y7mtgGQT1Z\/DK4g7VV5xhrLXATxwQ\/Hjv8Agt6htNBbWgUlLHGQMbYGXHvPFdic0VsjnsrJ\/El8lp99zCt+krfSSGaoLq2YnJfNvGe78crcAAGAMAL6ig5N7l0K4VrEVgIiLhYSuqtSOpJW22jm5KV2OWmwfowccPDOcLFtlnnurRDRQuhpXZ5atkHPk6wOoZ6B4lXM9qoKqqFVPSxyzNAaHOGd2\/8AErqAAGAMAK1WKMcJGGXCysscrHp4I56Cgp7bSMpaVmxG3zces9ZXSiKrc2pJLCCIiHTznhjqYJIJW7UcjS1w6wVjafttwtE89DIWyUA58MhdzsniMea3UXVJpYK5VqUlLxQREXCwIizrxdX2uBhio5quWUkMZG0nf24XUsvCIykoLmZorPrb7bLePymsja73Gnad5DesQWvUF8k27nU+w03RBEd5H9dZ8FpUWlLPQgEUomeP05jtHy4einyxW7M\/tLZ9EcLz\/Rwya1jmOxbbbVVb8e7gemT0r57Zq6uB5GigomO4Ok+sPMn4KmYxkbAyNoY1owGtGAF+k5ktkd9jZLrm\/loS50tca7Jut7mkaRgxxbm\/h1dC7abSNlpsfkvLOHTK4u9OC20XHOXc7Hhqk84y\/PX8nhT0VJSDFNTQw\/sMDfgvdEUC9JLRBERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BRANDON MORALES",
    "correoContacto": "brandon.morales@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56938695135",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28988\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28988\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28988\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28988\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:40",
    "ubicacionGPS": "LatLng(lat: -22.0856077, lng: -70.1892313)",
    "horaLlegada": "12:24",
    "horaDespacho": "12:12",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:39:28 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2774', 2, 19969062, 16053, NOW(), 
				'12:12', '12:24', '12:40', 1, 'instalacion imoresora Epson
Firmado por Brandom morales', -1, 
				'', '','1','61793',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781195968.png', 'instalacion imoresora Epson
Firmado por Brandom morales', null, 'COMPLETADO','LatLng(lat: -22.0856077, lng: -70.1892313)' )
				
[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200693

11/06/2026 12:39:28 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '61980920'
				   AND serieintmaquina = 'EP2774'
		
11/06/2026 12:39:28 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2774'
				   AND estado = 1
				
11/06/2026 12:39:28 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('61980920', 'EP2774', 1, 1, now(), 'Colegio Bernardo Ohiggins', 'Calama', 'Biblioteca');
				
=========================================
FECHA: 11/06/2026 12:39:28
listaInsumosUsadosConsolidado===

idReport:200693

idInventario:EPS-I302

idControl:28988

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200693', 'EPS-I302', 1)
				
[11/06/2026 12:39:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28988 and
				    IDproducto = 'EPS-I302'
				

11/06/2026 12:39:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 11/06/2026 12:39:28
listaInsumosUsadosConsolidado===

idReport:200693

idInventario:EPS-I303

idControl:28988

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200693', 'EPS-I303', 1)
				
[11/06/2026 12:39:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28988 and
				    IDproducto = 'EPS-I303'
				

11/06/2026 12:39:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
=========================================
FECHA: 11/06/2026 12:39:28
listaInsumosUsadosConsolidado===

idReport:200693

idInventario:EPS-I304

idControl:28988

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200693', 'EPS-I304', 1)
				
[11/06/2026 12:39:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28988 and
				    IDproducto = 'EPS-I304'
				

11/06/2026 12:39:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
=========================================
FECHA: 11/06/2026 12:39:28
listaInsumosUsadosConsolidado===

idReport:200693

idInventario:EPS-I305

idControl:28988

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 12:39:28] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200693', 'EPS-I305', 1)
				
[11/06/2026 12:39:28] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28988 and
				    IDproducto = 'EPS-I305'
				

11/06/2026 12:39:28 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
11/06/2026 12:39:28 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200693'                    
				WHERE idllamado = 12991			
				TO ENVIO: micorreo@miempresa.cl, brandon.morales@eplicancabur.cl


11/06/2026 12:39:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12991			
				
11/06/2026 12:39:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:31 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:31 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:31 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:32 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 12:39:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12991
LIMIT 1;
        

11/06/2026 12:39:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12991
                

11/06/2026 12:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:43 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:44 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

[11/06/2026 12:39:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

[11/06/2026 12:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:39:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12990
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:38
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2857
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:39:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:41:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                
=========================================
FECHA: 11/06/2026 12:42:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-_D+SxcV2TRvpNJiVaspJW9bH_I1PiescaDH6eLVzunS+qlQfMlR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2857",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "AVENIDA 18 DE SEPTIEMBRE 2850",
    "ciudadmaquina": "TOCOPILLA",
    "departamentomaquina": "ESC B.O¨HIGGINS biblioteca",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro impresora epson por fallas\nFirmador por Brandon morales",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12990",
    "observacion": "Retiro impresora epson por fallas\nFirmador por Brandon morales\nMaquina sin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC8AOIDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xABHEAABAwMCAgcFBAYHBwUAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwRUjMtEHJDNCUsIWNGLS4fDxJTU2cpKiskNEU2N0\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECBAIJAwQDAQAAAAAAAAECAxEEEiExQVETIjJhcYGRsdEjocEUM0LwBVLhYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBZOpbnNarQ6emA6ZzwxhLc4J7vJaymNdYdbaRhGQ6pGfQqcFeSKMTJxpSa3PSnud3s9zpqa7StqaesPuTAY4XHG2w6j1d6qlgaypensTpwQH0z2yNPngj4\/Ba1vqTWW6nqTzlja44GNyF2WqUiFK8Jypt34o6URFWagiIgCIiAIiIAsS8ajbQVIoaSB1XWuH7NgJ4Nts+PyXXe7kLTapqvh4ntHCwdrjsPzXBpe0Gnp\/tKsJkrqscbnP5tadwPln06lOKSWZmarOTkqcN+L5L5FFqfNf7BdKV1FUOOGZ\/CR1b957MrfWZfrPFebc6B2BKz3on\/AMLvyK5tL3Z9fROpqr3aykPBK07EjqOPgfBGk1dCE5Qn0c3e+z\/BuIiKBpCIiAIiIAiIgCIiAIiIAiIgCnNcMcbEyRucxztcccuRG\/mQqNZGqoum03WNxu1od6EH6KcHaSKMQr0ZLuF+xVaWqngjDoBICOvkV76bk6XTtE7HKIN9NvouITdPoEvzn9SLT4gY+i6tK\/8ADVF\/yn\/yK61aNu8qhLNWT5x\/JroiKs2BERAEREARF8qmdtNSy1D\/AMMTC8+AGUON21Ju\/f7Y1HRWZsn3UP304xt24Pl\/5KpUzo6mfNHU3moPFNWyHHc0Hf4\/IKmU56dXkZ8OnJOo\/wCXtwCltRwPs9yg1BSDHvCOpYP3gev6eOFUrju1GLhaqmlIyZIzw\/8AMNx8QFyDsydeGeDS3Wq8TqY9skbZGODmuALSOsL2WHpCu9t0\/E1xy+nJid4Dl8CPRbi5JWdidOanBSXEIiLhMIiIAiIgC4L3WT2+z1FXTtY6SIAgPBI5gHku9fGspY62jlpZfwSsLTjqyurfUjNNxajucOnrt9sWplQ4YlaeCQYwOIdY7itRfnek6+S0351BP7rZn9C8djwcD47ea\/RFOpHLIz4St0tO73WjCIirNQXLc4untVXDjPHC9o8wV1Lw4BzS07gjBRHJK6aIynqgP0bS5OSzMfq\/8iqOwRdBYaFmMfctcR4jP1UJ0rmabfagfvnXDBB7OHHluF+lRsbFG2Nv4WAAeAV1TReZ5+DeeV+UUj2REVJ6IREQBERAFhaxqvZtOzAYzM5sYz37n4ArdUxq1xnuFooQf2s+XDPVlo+p9FOmusjPiXajK3HT10Nu00vsVppafGCyJocMY3xv8crsRFFu5fFKKSQREXDpL6ezQalu1syAwuEzG52Gd9vJw9FUKYd9x+kRm\/8AWKbr7gf7qp1Oe6Zmw2kZR5NhERQNIREQBERAEREB+d60oH0V6FXGOFlQOIFu2Hjn9D5q2s1wF0tNPWYw6RvvDscNj8QuTVNsddLLIyMZliPSsHaRzHoSsbQFdmOqoHHdpErB3cnfy+qvfWp35HmwXQ4px4S9yyREVB6QREQEF9m8P6QxC0FrDN0\/Pntx\/NXq\/O4bjJU62huGHGKSp6GNxOxGzcDHc4HzX6Irqt9L8jBgnF58vMIiKk3hERAEREAUxXD2rXtBFzZTwl57c4J\/u\/FU6mKT779IdaeYhpgAefUz05lThx8DNiNcq5tfJToiKBpCIiAmLv8Ac62tMx2D2Fmf+ofzKnUxqj3b5Yntxx+0EY7feZt\/ntVOpy2Rmo6VKi7\/AMIIiKBpCIiAIiIAiIgCi7myLTGqoLiwYpqri6RgH4eXFj1BVopzW9H7RY+nAHFTvDs9x2PxIVlN9a3My4uLdPMt46ooIpY54mywvbJG8Za5pyCF7qLpWXGx00NxtTn11tmHG6m3zHnn28u31C3KPVNoq4GyGrZC4j3mSnhLT2d644NbHaeJi9J6P+7GwsXVVyFBaHxscfaKkGOJrfxHPMjyPxC9KzV1rphwwSGrmJ4WxxdZ8eS5rTaau517b3eRwyDBp6fkGDmCR9F2MbayI1Kuf6dJ3b+xn3i1Os+mrdKxuZaWYSSH+07c\/EAKzhlZPCyaM5ZI0Oae47rkvdJ7dZaumAy58ZLR\/aG4+IC49JVntenqfLsuhzE7uxy+GEbzRucpxVKtkWzS+2htIiKs2BERAEREAUxZfe1leHHcgAA9235KnUxY\/wDjC8+XzU47MzV+3T8fwynREUDSEREBMal9\/UViYeQmLv8Aub+Sp1MXr3tZWdo3IBJHdv8AkqdWS2Rmo\/uVH3\/hBERVmkIiIAiIgCIiAL5zwx1MEkEreKORpa4doK+iIGrk1o2eWKKstM5BfRSkDHYSc\/EE+a1J7Baal\/FLQQk9wx8vErJpf1PX9VER7tXAHN8cA\/Ryp1ZNtO64mTDxUqeSSvlbRxUtnttE4PpqKGN7eTwwFw8+a7URQbb3NUYqKslYKX00Rb79dbUdmh\/Sxgnq\/wBC30VQpXUo+yb1QXyOMlocY58dYxgeeCfQKcNbx5mbEdXLU5P7PRlUi8AgjIOQV5VZqCIiAIiIApi0\/da6usWfxRh+P+k\/VU6mGjoP0hvz\/wC4pdsdwH91Thx8DNiN4Pv+SnREUDSEREBMVn3\/AOkGiaNxBTkuHYcO\/MKnUxbv1nXlxmI2giDG56j7o+h9VTqc+C7jNh9c0ubfwEXpLLHBE6WZ7Y42DLnOOAApee8XLUFQ+lsP3NOzaSqeMZ8OsfPwXIxbLKlWNPTdvhxNu43y3WoEVVQ0SYyI27vPl+axW6gvd3IbaLZ0UTsgVE+4x29nzXfbNLUND97UN9sqnHLpZhxb9wP+q2gABgDACleK21Kslap2nlXJb+vwTX2VqqUky3qFmeqNvL\/tC9X0GrKNpkhuUNXwtP3b27nw2+qqEXM75Hf00f8AZ+rM2x3dt4o3SGPoponcEsec8Lu5aSmNLkPvd7lhaBCZgAe05dy6v9VTrk1aWhLDzc6abCIiiXkvfR7Nq+zVef2p6H44\/nVQpjV39es3\/wCn6tVOrJdlGajpVqLvXsERFWaQuC+UP2jZqmlAy9zMsH9obj4hd6LqdncjKKlFxfExdJ1\/t9hh4vxwfdO3znHI+mFtKQoKin05qa4UtTMyKmnHTMJbgDrA9CR5LpqNc29kzYqWGapy4DiA4R5Z3PorJQbfVRkpYiEKaVR2a09CmReAcjPaiqNp5REQBTGoM0mqLNXDk93Qu7hnH85VOp7W1O6Wx9OwDip5Wvz1gcvmQp0+0ZsUvpNrhr6FCi+NHUNq6KCpbylja8eYyvsoGhO6ugiLju9SKO0VdQT+CJ2PHGB8cLqV2JNRTbMLRhNTLdLgcn2io2JHif5gqWaaOnhfNM8MjYMuc47ALI0hT+z6cpyecpdIfM7fABZt0mk1PefsalkDaOnPHPK054j2Dwzjx36lY1mm+Ripz6KhHi3t4vU9Wms1lVHJfTWiJ3Vs6Uj\/AD5eKqaalgo6dsFNE2KJnJrV7Qwx08LIYWBkbBhrWjYBfRQlK+i2L6VLJ1paye7\/ALwCIiiXhZ1+uYtNpmqcjpMcEQPW88vTn5LQJAGScAKTDv6U6lDm5dbaDcOBIEjv9fgO9Tgru72KK83GOWPaei+fI1NLW026zMEg++nPSvPXvyGc9i2URRbu7llOChFRXAIi+c00dPC+aZ4ZGwZc5x2AXCexOag\/WdVWSlbu6N5lI7sg\/wAhVOpbTUct1u1Xf5wQx5McDc8h\/gAB5lUdRVU9JH0lTPHCz+KRwaPirJ8I8jLQd1Kq+L+2x9kU5V61t8Tuioo5a2U4DWsGAT4nf4Lglbqy+ke79nQdnEWHz\/e+SKm+OgliobQ6z7vkoLjqC2WsllTUjpAP2bBxO+HLzU5V64qqqQwWmidxO2a57eJ\/k0f4rpotB0zMPr6l87juWs90Z8eZ+CpKSgo6BnBSU0cIxg8DcE+J5ldvTj3lVsTV3eVerPzu5Wa9OonXe5lxwWhzXu98Ans6hk8u\/krWy2S1UNPFUUcXSF7Q9s0m7yCNt+ryXTeqcVdlrIeEuLoXFoH8QGR8QFxaRqTUacp8nLouKM+R2+GF2U3KBylQhSr23ur3fM20RFSegEREAXNcaQV1uqKUgHpYy0Z6jjY+q6UTY40mrMwNG1TprL7LIOGWkkdE5p54zkfMjyW+pUAWXXGBnoLmzPcH5\/Mf9yqlOe9+ZnwzeTI946f3yCnNbTkWiOjj3kqpQ0DOMgb\/ADwqNS9SftXXNPAMOitzOkdg597n8y309EN78hiX9PKt5af3yNK6VLbFptxZuYYmxR9W+OEfn5L00tb\/AGGyxOeD01R97KXcyTy+GPiuHWrjJFb6PGWz1Az1ctv5lTNaGtDWgAAYAHUuvSHicis1d\/8AlJep5REVZqCIsu+XuGz02cdJUybQxDcuPae5dSbdkRnOMI5pbHBqm4zERWagOausPC7B3Y3v7M\/IFa9rtsFpoWUkGS1u5cebj1krK07ZZaR8l1ub+KuqOfEf2YPV4\/Lkuqs1TaKI8JqhM\/8AggHGfUbfFWNfxiZYNJurV0vtfgv+muih6zX07yW0NIyMfxSuyfQYWBV3u515xPWzP4v3GHhb6Dn1rqoye5VU\/wAjSj2dT9KrLxbaDIqayKNzebeLLvQbqG1Dqf7WmZDExzaOJ4dw5wZfHs7vFetr0dcq8CSYCkiPXIPePg388Kttmk7XbmgvhFVL1vmAI8hyCkslPvZW3icSrWyxJynuWpbpAyC2UgpadrcN6FnA3HL8TvPktCk0Q6aUVF3rX1Eh3c1ric9xcd1WgADAGAF5UHUf8dDRHBx3qNy9vQ5aG20Vtj6Ojp2Qg8yNyfEncrqRFU3c2JKKsgiL1kkZFG6SR7WMaMuc44AHeUOnpUzR01NLNKQGMaS7iOAsLQ8b2afDncpJXOb7uNth57grjrayfVlabZQEst8ZBqJ8fixyx5jb1VTTU8VJTR08LeGONoa0dwVj6sbPdmWD6WrnWy08WfVERVmoIiIAiIgJ\/WNC6otIrIiRPRO6RhHPG2fofJa1sr47lboayPlI3JH8J6x6rpc0OaWuAIIwQetSdA9+mdQvt0v9Rrn8UB6muO35D0Vi60bcjLP6VXPwlo\/Hg\/wU9XUso6SWpkIDImFxyewLB0hSyvhqbvU56WueXDPU0E\/X4ALxq6d1T7LZIHDpax4Lv7LQdj6\/JUFNTx0lNFTQt4Y4mhrR3BNo+I\/cr90fd\/8ACe1m18UVDXCMvZSzhzsHGNx+WPNUcUrJomSxuDmPaHNcOsHkVwXiotxt9RTVlXBGJIyMPcMjsOOZ3+SmbLq2K2W32GeOSpkgJbE6LcPbueZ3GPDlhdUXKOnAhKrCjWbk9Gvui4XgkAZJwApk3bU1wdihtLaRh\/8AUnO4798fIqdvjb4K1lDV1c1TLIBiOIEMOeoAYB6upI07uzYqYxRjdRb+xWXbVlut8ThDMyqnx7rIzkA95G31UTHdLlVXZ1dFGZqx34SI+Pg\/5W8uXblalDb7HZo+lvU0dTU52p4ncfBjtxtnx2WjDdLvcYejsFpjoqcnHTODQMdoGMemVako7LzMVSU6zWeVu5asxpbNqC4tNRcp+hjH79XNwtHl1ei4zb6COboIqie4z42ZSRYbnr945J8mqsi0g+rf0t6uM1W\/OQxjsNH+e7C3qO30dvZwUlNHCDz4W7nxPMrjq22JRwLm7tW8dX8e5EW\/RNbWkS1XDRRH9z8TyPDq\/wA7KstmnbbacOp4eKX\/AOWT3nf4eS1EVUqkpG6lhKVLVLXmERFWagiLNrNQWqgyJ62PiH7rDxH0C6k3sRlOMVeTsaSKXdq6qrXcFmtM1R\/9kgwBv2D816mxX28t\/wBsXHoIc\/sIQNx3429cqeS3adjP+pUtKacvb1O+7apoLbmKN3tVVybFGc7956vms6Oz3bUMzZ73Iaambuymj2J8ezz38FtW2w261YNNB94M\/ePPE7fnv1eS0kzKPZHQzqa1XpyW3nzPjSUlPQ07aelibFE3k1v+d19kRVmlJJWQREQ6EWNd9P8A2tVtn9vnp+FgZwxnY7k5+K4ToWhefva2seOf428\/RTSjxZRKdVO0YX8yidUwMGXTRtHe4Bcs19tMAJkuNPt1NkDj6BZbdDWdpyfaHdxk\/wAF1RaTscXKhDj2ve53zKWhzI5sQ9opeb+D0m1jZIgcVTpSOpkbvqAFiXu\/Ut\/oXU9PbauUsPG2XhA4cde2fBVkNqt1OQYaCnYR1tibn1wsXVdbI9kNkoSw1FWeFzcj3Wdh7M\/QqcMubRFNdVejeeStyS39SVtlTc7le2yQ1kbK0s4GSz9wA22O+M\/FVB0rcKw5uN9nk4jl0cYIb27b459y7ajS9DPbKajGY3UoHRzNGHZzk+pyVnSTalsEPHNLT19LGN3yOw4eZwT8VJzzdnQojQ6JfWTa30b+6\/J20+jLLAPfhknPbLIdvTAXzt9dDHqOro6SGlgoqWLEr2sDDxZHX14OR6rJl1fdbt+q2qgMUjhu5p43DzwAPEr7W\/RVTLEPtOtc1hPE6CI5ye0nkT5HxSzS67JKcZSSw0dFu9vK5pV+sKCB3Q0LX11QdgyIHGfHr8srkZbtRX3L7jVewU7htDEMOI7D1+p8lQ0Fso7bF0dHTsiHWQN3eJ5ldSrzJdlGroZz\/dl5LRfLMm36ZtVu4XR0wkkaciSX3nfkPILWWRc9S261yOhkkdLO3nFEMkfTrWeNU3Kq\/qFgqHtd+GR5Ib8sdnWmWctWOloUupH0S+CnRTHHrKrOzKSiHUTg\/wB5P6P3+feo1FJGTz6IH6ELmRcWd6eT7MH7e5TEgDJOAFn1N\/tNJkTXCEEcw13ER5DKyRoqOY\/rt0q6gDq4sbeeVoUulrNSAYomSntl9\/Pkdl20FxGavLaKXi7+xwy64t\/FwUlPU1MhOAGswD9fgvm686lrwRQWb2ZpGz5+fiM4HzVLFDFAzghiZG3sY0AfBfRM0Vsh0VWXan6K3yS\/9G7vcv8AfF4eWHOYYNm93YPgtCi0tZ6E8TaQTP8A4pvf+B2+C2EXHOTOxw1OLva779TwGhow0ADsC8oigaAiIgCIiAIiIAiIgCIiA+dRPHTU8k8pwyNpc49wUXZrtb6eqqr5c5\/1moc4RRt95wZ4DlywMnqVpPBHUwOhlbxMeMELNoNMWm3vEkVKHyN5PlPEfyHorItJO5krQqSqRy205mU2836+FwtNGylpzsKibn5dXoCvtDpA1MvT3mvmrXnfgBLWg\/57MKlRM9uzoSWGT1qPN7eh8aWjpqKLoqWBkLOxjcZX2RFWaEklZBERDpzMt9JHWvrW07BUPGHSY3K6URDiSWwREQ6EREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "ESCUELA BOHGGINS",
    "correoContacto": "calzadillae10@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56938695135",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:42",
    "ubicacionGPS": "LatLng(lat: -22.0856135, lng: -70.1891461)",
    "horaLlegada": "12:25",
    "horaDespacho": "12:40",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "0",
    "observacionRetiroMaqExterna": "Maquina con codigo de errror",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:42:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 12:42:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2857', 1, 19969062, 0, NOW(), 
				'12:40', '12:25', '12:42', 2, 'Retiro impresora epson por fallas
Firmador por Brandon morales', 0, 
				'Maquina con codigo de errror', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781196123.png', 'Retiro impresora epson por fallas
Firmador por Brandon morales
Maquina sin contador', null, 'COMPLETADO','LatLng(lat: -22.0856135, lng: -70.1891461)' )
				
[11/06/2026 12:42:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200694

11/06/2026 12:42:03 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '61980920' AND 
				serieinterna = 'EP2857' AND
				correlativo = 1;				
		
11/06/2026 12:42:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'EP2857'
		
11/06/2026 12:42:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2857'
				   AND estado = 1
				
11/06/2026 12:42:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'EP2857'
				  AND rutcliente = '61980920';
				
11/06/2026 12:42:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'EP2857', 2, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
11/06/2026 12:42:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200694'                    
				WHERE idllamado = 12990			
				TO ENVIO: micorreo@miempresa.cl, calzadillae10@gmail.com


11/06/2026 12:42:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12990			
				
11/06/2026 12:42:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:08 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:08 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12990
            GROUP BY l.idllamado;
            

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:42:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:42:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12990
                

11/06/2026 12:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:36 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:39 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:40 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:40 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:47 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:53 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:08 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:08 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:11 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:23 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:28 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:29 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:33 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:48:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
11/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

[11/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12992
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 17:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2053
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:48:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:48:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:49:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                
=========================================
FECHA: 11/06/2026 12:50:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Yl36oqQnzkd6jzuK0DwaGXHvEcDQ1p4Hk7R17ORR4Gt8BB_zcFM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2053",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "714614",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12992",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABeAPQDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA5EAABAwMCAwYEBQMDBQAAAAABAAIDBAURBiESMUETUWFxgZEiobHBFCMy0fAVQuEkM1ImNHKCov\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADARAAICAQEFBQgCAwAAAAAAAAABAgMRIQQSMUFhEyJRkdEUIzJxobHB8DNSQoHx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIi5a65UVtj7SsqGQg8gdyfIDcolk42orLOpFWXa0jlkcKC2VVWxpwXtGPsVL2m7RXalMsbHRvYeGSN\/NpUnCSWWVQvrm92LO9ERRLgiIgCIiAIiIAiIgCIiAIiIAiLluFwgtlFJVVDsMYNh1cegHiUSycbUVlmq8XeCzURqJviJOGMB3cVE6XvNwutZWNrIwxrAMNDSOA5Ix\/O5Qs889RA7UFwZxySP7O30zhluf+WOoHzPorRpq1vtdqaJiTPOe0lznIJ6HxCucVGPUwQssuuTWkVr\/AN+ZLoiKk9AIiIAiIgCIiAIigb7qIUbhQW8dvcJTwta0ZDPE+Ph7rqTbwiuyyNcd6RuvmoYbOGRMYZ6uX\/bhbz8CfX3VRdMaid01VGblcPie6I57KBoBznHdgbcljT26pud4NNT1XbVBaTVVfMMzsWg9e7I557lcRaaS0WGqhpo9+wfxSH9TzwnmVf3Yaczzfe7S3J6RX75\/YyslyiqrEyufGynja1xcAMBobzPyXDo1va09bX4\/7uoc7cb8z4+P1UMysdDoinoId6mtkMbGDmQXefXl6q526jZb7fBSRgARMA26nqfU5KjJbqfUvpk7ZRb5L6s6URFSbwiIgCIiAIiIAi01FXTUjOOpqI4W973hv1UJU60tjHCOkbNWSE4a2NhGT6\/spKLfBFU7q6\/ieCwoqnLcdS1cTpezp7RT4z2lQ7Dh389\/koR7qqrmbDQXevuNYSMGPiYxnqTn12Cmq88zPPbFHhF\/byXH6H0dFw2aCsp7XFHXymSoA+Ik5I8M9V3Kt6M1xeUnjBrmmjp4XzTPDI2DLnOOwCqMP\/U1bLc7g4xWikJ7JjzgPx1P388d6zuFRLqm5fgaV5jt1I7NRNnAf\/N8e6xnLtTVDLVbG9jaqUjtZWjAdjoPt7q6Md394Hn3W9o8LVcl\/Z+iNtrpzqK9OulREBQ0v5dLGW4Dscjj5+3crYtVPTxUlOyngYGRxjDWhbVVKWWbKa+zjrxfEIiKJcEREAREQBeEgDJOAF6q9rCpmjooKaOcU8dVJ2c0pacNb4kcs\/zquxWXgrts7ODkaq\/UU9wmfbbBE+af9L6jGGR95B+\/tlRE1GKF7LNbXCoudTkVdSNyxp5tB6Dv6++0zXS0umdMGK3va6WT8uN7cFz3nm447h9guWzV9m0\/RtNTVNdWVA45izL+HO\/Dtn18fRXrRd1HnWLeniyWvPwS8F1fiWG1WqmtFG2np2+L3nm895WnUVU2ksNZI4gcUZYMnmXbfdc7dX2RzHOFZggE8JjcCceiql3uFyv01KHZgpKuXs6eIH9WDjiPfuVGMJOWZF120Vwq3a9fDBJaHtDnZuc7BwBpZCD\/AHb5LvQ7D1V0WEUTIYmRRtDWMaGtaOgHILNVzlvPJpopVNaigiIolwRF45wa0ucQABkk9EB6sXOaxpc9wa0cyTgBVq663oqTijoW\/ipR\/dyYPXr6e6h2W\/UOqXiWrkMNMTkcY4Wjyb18\/mrVW+MtDHPa453a1vPp6k9Xa0tNJlsLn1TxnaMYbnzP2yoOXUWoryeG3Uz4oztmFmfdx5emFPWzR1soC2SUGrlHWUfCD4N\/fKngABgDAC7vQjwWSHZbRaveS3ei9T57Ho2+Vx7WqfHG48zPKXOx6ZUpS6PuUDS1t4\/Dh2zxTxkZHmCMq3ouO2TJR2GmOuvmVuHRNvD+0q56iqkOcl7sA\/f5qdpKOmoYRDSwMhYOjRjPn3rc5wa0ucQABkk9EBBGQcgqDlJ8TRCmuv4Vg9VY1Dd56qpbY7Q7iqJDiZ7TtGO7PTx7l1anu09DTxUlFvWVTuFmBktb1P8APHuVYnucFhp32+0PE1XJtUVg337mfv8AflZXDmZNqvSzDOFz9F1+x31cbIzHpSzEcUm9VOTv4g48t\/ZWq2W6C1UMdJAPhYN3Hm49SVT7J\/WqOBzbbZMSSfrnqTuffGykX3y\/WiSOW80cTqR5w58G5Yff+d67OLeiIUWQj35J+Twl4epakXjXBzQ5pBBGQR1VZ1JqtlB\/pKCRj6kn45P1Nj\/cqqMXJ4RutthVHekyXuF7t9reGVdQGPLeINAJOMgdPP6rmfqyyMbxGtBOM4DHE9PDxVUt1ZAyrfNHRz3qteN3PaeFg8Ack7dThSP9Avd0c508NFbY3jcRxNL9uXLJ+YVvZxXEwrarZ\/xrP+s\/XgbrrrMBvBbQADsZ5RgNOM7Drj\/GN1CUT9Q3d5\/C1FXJl2XTcfA1vLOOXcPbkrRRaLtVKQ+dr6uTmTK7bPkPvlTzGMjYGRtDGtGA1owAm\/GKxFHVs91rzbLHRfvqaLfHUxUMTKx4fUAfmOByCUXSioPRSwsBaaqlgrqZ9NUxiSKQYc0nGevRblBatuZt9pMMJP4irPZRgc8f3H228yFKKbeEQtnGEHKXAr1n0\/QXe81b4mvFugdwsAfnjPnzx1VspNPWmjaRFQxEnmZG8Z+aysluFrtMFKQA8NzJg5+I81IKU5tvRlGz7NCEU3FZKnX6fN4vhiFK2joadv8AuMhDTKT0B6jn5eoUZpGKe63eKapkL4rdEBG0jYdGj6nv2VwvdeLbaKmq4gHtYQzP\/I7D5qP0XSin0\/HJw4dO8vJxueg+impvcZRKiPtEUurf4J9EXHXXagtrSauqjjIGeAnLj5DmqUs8D0ZSUVls7F4SAMk4AVOr9fMALLfSFxxtJMcYP\/iP3UEai+aimETnzz5wMMbhjMn+7AwBjqrVTLi9DDPb608Q7zLpc9WWu3NIZMKqXoyEgj1PIKGjbfNXtzI8UNuJzho\/X93fRbKHTNmtfC+7VsEs4GTG54awenM9efstN11cKqpFHQ1H4SlBAdU8JLjgj9IG4H18FJJf4eZTZZJrN7wv6r8ssNs07bLS0OihD5BuZpd3f49EdqWztqTAa+MOA3P9vPGM8lQP6pWVMYt3b1E1Hxn8tn63jORkqaYyR9NHFT6PzEw5BmzxE9+cAn6ewR185M5Da1jFUcL5N\/b7krPqWe4z\/g7BAZnjd08gwxvl\/n7rdZ7hcY7pLartLFLMGB8ckbcB3eM7dPDvXBSTalpIRBRafpIGjpkDP\/3uVpq6PVddXQVzqGngqKfIY6OQDbx+I55lc3Vw0J9rZlT7zfhh4wXRRN4v0NscKeNvb1jxlkPIHcZyem2T6KHc3WdbxRl0VK0nBcCG467EZPt+6hblp2vs8LZZqpj3VD+zPZgkni55JwuRrWdWSu2qzdzCDXVm6Nl11fWhrpuGmYGmRwGGNPgOZPgVdJ6mlstsHG9obCwBrXPALvdVGusdFYqbgq75UHO4p4W4Lj5ZOPMrmtWkqq6yiokbJS0bjkGU5kcPDYc+\/wCqnJRks50M9c7a24qOZvqRc1VNeLm6apqRF2x+N7z8LW92B0GOSt9BetM2OkENNMZXgZc9sR4nnzIUlDpSyQAYoWvI6vcXZ+eF2w2q3U5BhoKdhHVsTc++FGVkXoW0bLdW3JtZfPV+hBnW0M54aC2VdU\/u4cfTPh7rmrn6j1BSOpTaY6ankIyZXEOGPMg\/JW8NDRhoAHcF6ob6XBGp0TmsTnp0SRU49LXioayKvvThAwBvZwk4wBy6D5LvpNHWalwXQuqHDrK7PyGynUXHZJnY7LUtcZ+ephFDFAwRwxsjYOTWNACzRFA0hERAEREAVUpg2\/6xfV\/E6lt7Q2PIOC8f5yfQKU1NcTbrPJ2ZPbz\/AJUQbzyevoM\/JbbBbhbLRDAWgSOHHKQMZcef2HorF3Y5MtnvLVDktX+F+SSRFCakvzrJTxiCNktRMcNa48h34G57lBJt4RfZONcXKXAjNX1RrK2ls7Jo4mZ7Wd8hIa0Y2ye7GfXC3zawttHC2lt0MtYYo+FvC3haANu76BVams131BJJWsjDxJIeOR7g0Z2PLnjfoFYaPRUz4Qy4V57PIPYwDDc\/T1wtDUEkmzyYWbRZOU644zz6fvzIup1LcK4llTcY6GFzcltMzjcfUHn\/AOwXE2utNG0vgoZaudzfhlrHDhB5Z4BkH1JX0Gkslsog3sKKFrmjZ5aHO9zus5rTQ1FbFWS0zHzRN4WkjlvkbeHTzXO0iuCLXsd0tXJN+f75Hz+h0vd7qBPwNijech8pwD4gDf5KwxaRr3xNiqr1I2Ic4YG8LfqB8la0UHbJl1ew1QWuWUmPQrv6o5rpMUTHNIc45fIMZI25b7eqslPp+0UzGtZb4HcIxxPYHE+OSpJFF2SfFl1ey1V5wjXFDFAzghiZG3uY0AfJbERQNHAIiIAueuoorhSPppgeF3UcwfBdCJwONJrDIag0tbKCbtxG6eUH4XzHi4fTl6qZRF1tviRhXGCxFYCIi4TCIiAIiIAiIgCIiAIiICr3Vxu2raK3MaHxUY7aYZ2HL\/HurFVVdPRQmapmZFGOZcVy3anuE0DXWqaGCpyAZJG5y3uzg9cdFFQaSNRMKi91sldICeFnEQwD+dBhW6NLJjzOE5KKy3rnl6mNTqx9ZIaWxUr6qUj\/AHXNIa30\/fCxj0pMKWoq6mYVd0lYeEvcQxjj3Y6932VlhghpohFBEyKNvJrBgBbFzfx8JL2dz1teX9EcFkt7rZaYKV7uKRoJec5y4nJ+q70RQby8miMVGKiuQREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "BRANDON MORALES",
    "correoContacto": "brandon.morales@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28990\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: -22.0854886, lng: -70.1891846)",
    "horaLlegada": "12:25",
    "horaDespacho": "12:42",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 12:50:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[11/06/2026 12:50:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2053', 2, 19969062, 714614, NOW(), 
				'12:42', '12:25', '12:51', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781196634.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.0854886, lng: -70.1891846)' )
				
[11/06/2026 12:50:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200695
[11/06/2026 12:50:34] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200695', 'KYO-I647', 2)
				
[11/06/2026 12:50:34] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28990 and
				    IDproducto = 'KYO-I647'
				

11/06/2026 12:50:34 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
11/06/2026 12:50:34 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200695'                    
				WHERE idllamado = 12992			
				TO ENVIO: micorreo@miempresa.cl, brandon.morales@eplicancabur.cl


11/06/2026 12:50:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12992			
				
11/06/2026 12:50:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 12:50:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:40 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:41 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:44 - INPUT: {"rutTecnico":"19969062"}[11/06/2026 12:50:44] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 12:50:44 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[11/06/2026 12:50:44] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:44 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:45 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 - INPUT: {"rutTecnico":"19969062"}
[11/06/2026 12:50:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 12:50:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12992
            GROUP BY l.idllamado;
            

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 - INPUT: {"rutTecnico":"19969062"}[11/06/2026 12:50:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 12:50:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[11/06/2026 12:50:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                

11/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12992
                
[11/06/2026 13:17:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 13:17:15 - INPUT: {"rutTecnico":"24456550"}[11/06/2026 13:17:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 13:17:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

11/06/2026 13:17:17 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:17:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:17:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:17:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:20 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:17:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:17:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:17:22 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:17:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:17:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:17:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:17:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:17:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:17:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:06 - INPUT: {"rutTecnico":"24456550"}[11/06/2026 13:26:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 13:26:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[11/06/2026 13:26:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 13:26:08 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:26:08] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:26:09 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:26:09] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:26:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:09 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:17 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:26:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:26:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12994
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 09:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77513443
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3166
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:26:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:26:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:27:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:27:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:27:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:28:03 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                
=========================================
FECHA: 11/06/2026 13:28:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-cMv1LDtFonY9idccbF9LJF-rjLi.iToaCOBth4hh74xH_sOC9Yo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "77513443",
    "serieinterna": "EP3166",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Sitio 5",
    "ciudadmaquina": "ANTOFAGASTA, la negra",
    "departamentomaquina": "Operaciones",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se instala en 2 pc\n•Se configura SMTP para escanear a correo\n•Se configura SMB en 2 pc para escanear al computador\n•Se hace inducción a Emerson y Sebastián",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12994",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC4AQkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMCAggDBQIMBQUAAAABAAIDBAURBiESMRMiQVFhgZGhFHGxFTJCwdEjMxY0NkNScnSCorLh8CRikuLxN0Vjc9L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIDBAoCAwEBAAAAAAAAAQIDERIhMQQyQVETImFxgZGhscHR4fAUIzNScv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAZzVWoKmzPpoqRjHPkDnO42kgAf7z5K5ttcy5W6CsjGBK3JHceRHrlUADbhr6Zj2iSOmpi053G4AI\/wAZ917pJ8lFVV9kmfxfDP4ozjm08\/yPmVc4rD2mCnVn0zu+q20u9feZqEVJqa6z26lhho25qqt\/Rx4xkeI8ckeq5aZuVbLNVWy5ODqmlIAcABlvL9DnxUMDw4jQ68VU6PiaBERQLwiIgCL5kkZFG6SR7WMaMuc44AHiVSUepRcruKSgpHzUzc9JUHYN7iuqLehXKpGDSbzZeoiLhYEREAREQBERAEREAREQBERAEREAREQBERAEREAREQGY08OLVF8eeYkDfLJ\/ReXofZWqrfdQ49FUHoJsnYdmffP91e6T\/aXW91HPjqcA8+13b5hStYUfxWnpnAZfARI3y2PsSr79ex5yi3s2Japt+TZEnzXa\/giJyyig4y0dhI5\/4m+gSr\/4DX1LMCWsrYeB57zyA9mqLpWs+0NS1dUTlz6VuSRvnqg+4UvVo6Ous9Q0dZlTjYZPNp\/Jd0lh7CF1Kk6q\/wCr+tvY06IiznqBQbpdqS0UxmqZN\/wxj7zz4BV141Myll+BtrPi6954Qxu7WnxxzPguVs00+Sp+0r4\/4isJyGZyxnd8\/orFG2cjNOs5PBSzfPgv3kRWUV01Y8VFc51Hbc5ZA37zx3\/6nyC1FLSU9FA2CmibFG3k1oXZFGUm8uBOnRUM9W+IREUS45yzwwNDppWRgnALjjJXRYnX0zzVUdO0Z4WOkI4c9v8A2rUWWp+Ms1HPnJdE3iP\/ADAYPuCpuFoqRnhXUqsqfInIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMzo0lxuZOP4yeQx3rRzRMnhfDIMskaWuHgdlm9GDH2n\/af1WnVlTeM2y50Vft9zD6Lp3Umoa+mf96JjmHycArHWn\/tn9pH5KvZc6e0a7rnzkRwSgte7H3TgOzgeI91G1Ffftt1LHR08scTJsMnk2Dnf78fJXWbmpHn44Q2eVO+d37mzuV1o7TB0tXKG5+60bud8gs98XetUvLaPNvtx2Mrh1nj8\/L1U226Thhm+Lucpr6o75kyWg\/I8\/P0WgAAGAMAKm8Y6Zs3YKlXf6q5LXxf0Z2qs9LYNO1j6HjbOI89OT1\/Ijl5Ky0\/LJNYaOSWR0j3R5c5xyT5qPq4lumKwjuYP8bV103\/J2i\/+pHnC75iCUK+COSw\/JaIiiOutvbO2nNZCZXODQwPBcSezAULXNTklqyWiIuHTJ3iEVOuKOnd92Wjew+bZApWiJjJYOicd4ZXMx2jt\/MrlXf8AqJbf7MfpIvNHZgqrtRHboZ9ge3mM\/wCEK97nkebTy2i\/NteiZqEXhIAyTgBVdbqa0UI\/aVjJHf0YuufZUpN6G+U4wV5OxaosudU3C45ZZrPLJnYSzbNB8ez3VnZo72HSyXeeIh+OjijaOp37\/wDlScGlmVwrxnK0U322yLVERQLwiIgCIiAIiIAiIgCIiAIi5zzw00RlnlZFG3m55wAgbsdEWcq9ZUomFPbKeS4TE4wwED6ZPp5rgINVXkYnmjtlO4bhg62PrnzCngfHIzPaYN2gsT7PvQi2S70Vlq7w2sl4D8SeGNoyTgu5KSb5fb2zFnt\/w8JOPiJSOXeM7emVF01aqSG\/3GmqY2VBpscD5Gg433O\/byWgq9S2egbh9ZG8gbMi659th5q2VsWSuzJRxdF154Vn368\/owF0pZbVfQ2tk+Le1zJJCfx8iRvz7lqtViN77LT04aBJUDow0Ybjqj8ws1fbpDe7v09NSyYdGIw133id8HA8lYW+t+1bpp+EnMlOwhw5fdzjft2aFY08m+BkpyhedOOjat5m\/REWM98pdX\/yXrP7n+dqhi7vtdmtVHQ04mq6inYWMcSB93J9+zI5qZq\/+S9Z\/c\/ztVZX0VW+x2W5UEZkno4ojwNbkuHCPDJ+XiVdCzir8zz67kqsnHXCvfM7Psd8uxzdLmKeLP7inHrvt75UDU2n7faLE19Ox7pela0ySPJOMHyHIcgtnE8yRMeWFhc0Etdzb4FZvWjhUR0FtDsPqJwcDngDHp1vZITbkkNooU40pS1fNmjg\/cR\/1R9F0VFXastlETDA41cw2EcAyM\/Pl6ZUFrNT30uMkn2VSu24Q3rn8\/cKGB6vIve0RTww6z7P2x8Xytp6HWtBVyyAMjgIeeeB1xyHbuqxt8e3VFTUWSDpzVtDGxyNwC7bJxnwJ7OZXaqsFLaL9aYcmpE78S9KAQ45A5easdUtbbq60XGOMMjgl4HcAAHDscenErlhyWuR58lUeKTytJPtztx7j0afvF2eX3q5GOFw\/i9O7b5Hs+qtaHTlpt+DDRsc8fzknXdnv35eWFZggjIOQV6qXNvI9KGz04u9rvm8zwAAYAwAvURQLwiIgCIiAIiIAiIgCIiAKsuWobZastqKgGUD91H1nf6eeFUauutygkbQ0UUjI3tBfNG0l3iB3diqbY2op3dJT6cnqanP7+qJIz8sAD181dGnldmCrtTU8EF42fwXAuuo7vg26gZRQO5TTbu+Yz+h+a5TaepmObPqK9ulcTkMdIGNz24zz8sLo6m1bdBiaoit0R5tjPWxnvGT7hdqXRVujeZKySWslJJJe4gH039126jxt3FeCdTWLf8A6yXkjk3VFjt0YpbVTPmJOGshjxk\/M7n3QV2q7ng0tFFQRO5Pm3cPnn\/8q0qam0adp+NzIafiGzI2gOf8h2qn+Pvepupb4zb6E5Dp3\/ecPD\/T1XFZ5peLJTcl1JSz5Ry\/fQz9dSx0d7njvdXLPlge91ORl7tsDfl29yl0Omqi8cMkNM23UfY55LpJB37\/AJYHzXeus0GnLraZ2udM18uJny4xnI3x2bE+i3SnKpZKxTR2VTnJVOD0789TE3yy02nYbdW0jXEw1IMj3HrO7R5dU9navjTdAyDWlXGwgMpxI5gHcSAO3ucr7V9P8RpyowMujLXjbuO\/sSshpqrmi1FTVcxy2qkdE52eZIG3qWpFuUGRrRhS2iKSyyfx9H6UiKtuOoLZayWVNSOkA\/dsHE725eazpN6HrynGCvJ2I+r\/AOS9Z\/c\/ztUi21VPSafoJKiaOFgpo+s9wA+6O9Zm9Xy43mzT\/D2x0VAMF80h3IDhjHLtxyypVn0pBW0tLW3Crlq2uiaWRHIawY+7zzt4YV2FKHWMCrOddukr5ccuLJNRrBs0xprPRS10v9LBDR49\/wBFSUdDW6qvUwuc\/C2mGH9EQQ3f7rSMjvV9eLhT2anFstVO0VtQOGOOFoBbnbiPip2n7V9k20RP3nkPHM7OcuPil1GN0jjpyrVFGcrpa8u4622y0FqZikgDXYwZHbuPmo9w1NbrdWfCyue+QY4+BueDPf47qXdaippbZPNSQOnna3qMaMnPfjtxzwq3T1hbS0T5rhGJaurGZhIOIAE54ccvn4\/JQVn1pGmWKLVOkrex7X0Zvs9ruNuqYjHTS9I4kkcQyDjGOe3bjmvvVtN8Tp2pwN4sSDyO\/tlQ5dN11tnfU2CsMIccmmkOWHlt9ea+JKjVtRE6ifQU7C\/LHTg\/hI5jrf77lJapp6FEm8Mozi7y5ZrkXdmqfjLNSTnm6IZ3zuNj7hTlDtNALZbIKQO4jG3c5J35nHmpiqdr5G2nfAsWoREXCYREQBERAEREAREQBERAEXOeeGmiMs8rIo283POAFm6nU9XcJnUun6UzuBw6d7eq3x329fRSjFy0KqlaFPXXlxNDV1lNQwmaqnZCwdrjjPy71m5dQXW9SGCwUrmRcnVMoxj5dg9z4L4OnoacfaeprgZ3A\/cLurnu8fkMKRSaxt\/GyIUc1PSZ4I5eDqDwwOXZyViilormSdWUnabwL1\/B3tulKeGT4q5SGvq3bl0hy0fIHn5+yvgABgDACAgjIOQVX3C\/2y2cTampb0jR+7Z1nenZ5qtuUmaoxp0Y8kQtZUjqmwvezZ1O8S5x2DIP1VrbqsV1up6oEHpYw447DjceqzVZrKGelMb7VOaaoaWB8p4WnO3d+aobZfbyy3\/ZVuYXDJ4XRxl0jQdzju7exWqnJxszFLa6UK2KOd16rQ2upq2CksVW2R7A+WIsYxxGXE7bDtxnKwhudOLDSUzGvFZTVBla8Dq4Pnzzjs7F9myVkl6paKtkxUVJ4ngHicxvMk+OAThXFDa4qS83SxuYHNqKcmB7wM8sjfz\/AMKsiowXPiZqk6ted7WWnjqSYxqTUjBMJxbaN4yzgPWcPLc+ymUWirXTPEk5kqnjc9IeqT8h+a+tFVJmsDYnfep5HRke\/wCa0CplJptLI30aNOpBVJZt8yPX0ja+gnpX4xKwtyRyPYVlKKr1BBbvsekt72zROLfiXZ4Q3JxjI9z2LZooxlZWLqlHHLEnZ6eBTWPT7LW59TUSfE1spJfMezPYM\/VXKIottu7LIQjTjhiERFwmEREAREQBEXjnBoy4gDvKA9RVdVqSz0e0ldG490Z4z7KsOsxUPLLZaqmrd34xj0ypqEnwKJbRSi7OXyadFmI6jV1c4OZT01DHkH9oMnHjzPb3DktHiX+mz\/oP6rjjYlTqY9E\/E6IiKJaERUd01TS0M3wlLG+tqzsIotwD3Ej6BdUW9CE6kaavJ2Lp72RsL5HBjWjJc44AWerdXQ9N8JaYH19S7YcAPCP1+niuDbHdr84TXuqMEGeJtJF2fPs9cn5K\/oLZR22Lo6SnZEO0gbu+Z5lTtGOuZRirVd3qrt18uHiUUWm667yNqdQVbiM5bSxHDW\/l6eqt66toNPW3iLGxxtGI4mDBce4fqrFZy6O0+26suFfXiSSEYbBxcbQe\/hAyibk8zkoKjFuOr4sj0Fnqr\/UC53wERZzBS8gB49uPDt7Vf19upq22yUT2MZEW4bgbMI5EfJUR1TcLi8MslqfI3iwZZgeH2IA9V4NLXG5P6S93V728WehhPV99h6KTTveTsVQlHC1Tjivq+fj9FHUVk9NE23VV54qOLiYGUmC97QTjJG2PmfJdbfarhUyMltlt+Fa7f4mrcJHfMZGPRufFbKhsdst2DS0cbXjk8jid6ndT111eSIw2Jt3nL9738WMzS6MgdIJ7pVzVsxOSC7DT+Z9VHkbBp3Wcb2tZBR1kPD1RhrT\/AOQPVa5ZbXhp\/suBjxmodL+yA54x1vLl7LkZOUrMnXowpU8cFZrM90y2S53auvkwBY93RQZ7Gju8se6akH2bfrZeOUYd0Mzs8gc\/kXeisdLSU8mnaX4fYNbwvHbx9v6rpqKhFwsdTCGgvDeNm2dxv\/p5rmLr+h1U77Nda6+OpVabcKLUF2tp2aX9NGAdsfL5Ob6LULAWOtEl9tE\/EA58Bp5fEtBA+e3At+lVWZLY5qVNpcH75\/IREVRsCIiAIiq67Udpt+RNWMc8fzcfXdnu25eeF1JvQjKcYK8nYtEWW\/hVX3EuZZrRJKMkNmk2aPn2e69Niv1zPFdLt0EZ36Gn8RuDy\/NTwW3nYo\/kKX+acvbzZcVt9tdvyKmsja4fgaeJ3oFUP1pHM\/o7bbamrfy5YHtlTqLSlnogCKUTPH45jxH05eyt442RMDI2NY0cg0YAS8F2jDXlq1Huz9zMiXV9y+5FT26M9rhl2PPJ9gjdHS1XC67XapqSB91p2Hhk5+gWoROkfDIfxoPfbl3v4Kqk0zZqPBZQxvcPxS9f67Kza1rGhrGhrRyAGAF9IoNt6l0YRhlFWCIi4TCrrrfKCzx5qZf2hGWxN3c79PmVT6mvN1hqDb7dSSZcwOMrGlzsHbbHLkqe2269NJlhswdUnc1FZu4HvAcQO7sKtjTyuzDV2pqWCms+dmWZfftUDha37Nt5O5OeN4\/P2Cs6Kksem4iOnhjlx1pJXjjd\/vuChfwdvdfvc725rSetFADjHd2DtPYVJp9GWiEl0zJal53LpZDz8sLrcdL+RCEKl8WG75yfwtD5qNa2mJ3BB01S7\/42YHvhcPt7UFfj7OshiafxznY\/LOPzWhp6GkpBimpoYf6jAPou6jiitEaOjrS3p27l93MqdOXq6E\/a93IjPOKDkd+7YexVlR6Vs9FgtpBK8fimPF7cvZXCLjnJnY7NTi7tXfN5njWhow0ADuC9RFA0BERAFk6Rg1Dq6WseOKkt4DIwRs53Zz8cnyCttSXM2y0vdET8RMeihA58R7fIe+F1sNsFptMNNgdJjjlI7Xnn6cvJWLqxuZai6SoocFm\/j7KWzsdYtUVFqJxTVQ6WDPf3emR5BatUGq7fJPSR3Gl2qqF3SNI5lvMj2B9e9WVouUd2tsVXHgFww9o\/C7tCSzWIUf65Ol4ru\/Bl26eq6LWMU0MLnUZm6UOaNmA8x4b7fILaoo9XcKOgZx1dTHCMZHG7BPyHMrkpOVidOlCinZ5N3JCLMTayE8hgs9BNWyYzxEEAeOOZ9l8\/ZOoby4PudcKKBw3gpyQcdx\/1JXcDW9kR\/kxllTWL28y2r9Q2u2j9vVNL98Mj6xPhty81UHVFzuTuCzWl7m5x00\/L22HqrKg0taaAAtphNIBgvm62fLl7K3AAGAMAJeC0VzmCvPelhXZ9syv8Hb3dRm8XZzGOAzDDy58iBgfVWlDpe0UOCylErxnrzdc+nL2Vui45yZKOzU4u9rvm8zwAAYAwAvURQNAREQBERAEREAREQBERAEREAREQBERAEREARFR6tuZt1lkbG7hmqP2bOewPM+i6ld2IVJqnByfAg0bv4R6pdV8XHQ27913Oee0beGfILVLG26\/2+x2yOgo4pK6q+9J0Q6rnnnv242Gw7lJD9V3fkI7XATg5HXx57\/RWyi2+SMVGtGMf+pPN2\/bZGjqKmnpoy+pmjiYe2RwAPqsJRX6nsF0qorcDW0U5BjYMtLXdwyPLlvsryn0VSuk6a5VU9dKcZLnEA\/n7qXc9N0dTaH0lJTxQSNGYnBo+8O8898keaRcFlqKsa9S00kmtOL+iAW6rvHMx2uDIPPr4+v0Uii0bb4HdLWOfXTE5L5DgE\/LP1JXbS92kuFC+nqgRWUh6OUO5nuJ8dsHxCu1yUpJ20LKVGnUSqPrd\/wBaHOGGKnjEcETImDk1jQAPILoiKo2aBERAEREAREQBERAEREAREQBERAEREAREQBERAERVd5v1PZwxjmPmqJf3cLObt8LqTbsiM5xgsUnkWig3C82+1gfGVLI3Hkzm4+Q3VG1up79npHC00p2wGnpD+f0U236RtdFwvkjNVMDkvl3Gf6vL1yp4YreZn6WpP\/OOXN\/WvsQjqW6XbjjsdscWg4+IlIAHlyz5n5Kvt9lrr7epje5ZZI6YcJOC0Od3N2G3Pl4d63IAAwBgBAAOQwnSW0RF7M5tOpK\/Zw8iPR2+jt7OCkpo4QefC3c\/M8ypKIq9TWkkrIIiIdMvf6WotFeNQW8ZGzaqLseO\/wD34FaGiq4q+jiqoHZjlbxDw7x5HZdZI2SxujkaHMeC1zSNiDzCzFm4rHqSosz3k09QOmp+I5Oe76\/9Ks3o9qMj\/pqXW7L0f5NSiIqzWEREAREQBERAEREAREQBERAEREAREQBERAEREAVNedM0l3kE\/SPp6loAbJHjvzuO3n3q5RdTad0QnTjUWGSujLOp9UWbDoKlt1hyMtkB4\/c59yusOtKRshiuFLPRSg4Ic3iA3x8\/ZaRc5YYqiMxzRMlYebXtBHoVPEnqinoZw\/zl4PP8nOkr6SuYH0tRHKMZw07j5jmFIWerdG0E0gmopJKGZvJ0RyPnj9CFGMWq7Rgxyx3OEEdVw6+Pr7lMMXoznS1Ib8fFZ+mpqkWbi1lDFIIrpQ1FDJyJc0lv5Hu7FeUtfSVreKlqYph\/yOBI8lFxa1LYVqc91khERRLQsxrSPoY6C5RjEtPUAZzjY7\/VvutOsxruZn2TDTA5mlmBYwcyAD+o9VOnvIzbXboZGma4OaHDcEZC9XxE0tiY07ENAK+1A0oIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDlUU0FXCYamFksZ5teMhUlXou1Tu6SnElJJniDonbA57jy8sIikpNaMrnSp1N5XI7bZqi2\/wAUubKyMfgmG\/hz\/Ve\/auq4jiayQvyMjo3f9xRFJTvqiiVDAurJrx+7nyavWNYOGOhp6QEfvHEZHkSfopFt0y9laLhdqo1lU0nh58Le7n5+G6Ijm9FkSjs8XaUm33mhREVZpCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "SOCIEDAD DE INVERSIONES GRENETT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56930703720",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R1250\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-R1249\",\"id_control\":\"28991\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"GEN-I1125\",\"id_control\":\"28995\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "13:28",
    "ubicacionGPS": "LatLng(lat: -23.758175, lng: -70.2913348)",
    "horaLlegada": "12:10",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 13:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:77513443

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('77513443', 'EP3166', 2, 24456550, 0, NOW(), 
				'08:00', '12:10', '13:28', 1, '•Se instala en 2 pc
•Se configura SMTP para escanear a correo
•Se configura SMB en 2 pc para escanear al computador
•Se hace inducción a Emerson y Sebastián', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781198883.png', '', null, 'COMPLETADO','LatLng(lat: -23.758175, lng: -70.2913348)' )
				
[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200696

11/06/2026 13:28:03 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '77513443'
				   AND serieintmaquina = 'EP3166'
		
11/06/2026 13:28:03 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP3166'
				   AND estado = 1
				
11/06/2026 13:28:03 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('77513443', 'EP3166', 1, 1, now(), 'Sitio 5', 'ANTOFAGASTA, la negra', 'Operaciones');
				
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-R1250

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-R1250', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-R1250'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1250';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-I1240

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-I1240', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-I1240'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1240';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-I1241

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-I1241', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-I1241'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1241';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-I1242

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-I1242', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-I1242'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1242';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-I1243

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-I1243', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-I1243'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1243';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:EPS-R1249

idControl:28991

cantidadAsignada:1

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'EPS-R1249', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28991 and
				    IDproducto = 'EPS-R1249'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R1249';
                
=========================================
FECHA: 11/06/2026 13:28:03
listaInsumosUsadosConsolidado===

idReport:200696

idInventario:GEN-I1125

idControl:28995

cantidadAsignada:2

cantidadUsada:1

[11/06/2026 13:28:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200696', 'GEN-I1125', 1)
				
[11/06/2026 13:28:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28995 and
				    IDproducto = 'GEN-I1125'
				

11/06/2026 13:28:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'GEN-I1125';
                
11/06/2026 13:28:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200696'                    
				WHERE idllamado = 12994			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl


11/06/2026 13:28:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12994			
				
11/06/2026 13:28:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 13:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:28:04 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:28:06 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
11/06/2026 13:28:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:28:06 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12994
LIMIT 1;
        

11/06/2026 13:28:06 - INPUT: {"rutTecnico":"24456550"}
11/06/2026 13:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

[11/06/2026 13:28:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:28:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:28:06 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:28:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:28:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:06 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:28:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:28:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 13:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12994
                

11/06/2026 13:34:59 - INPUT: {"rutTecnico":"24456550"}[11/06/2026 13:34:59] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 13:34:59 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[11/06/2026 13:34:59] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 13:34:59 - INPUT: {"rutTecnico":"24456550"}
[11/06/2026 13:34:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 13:34:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 14:50:28 - INPUT: {"rutTecnico":"20988335"}[11/06/2026 14:50:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 14:50:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

)
[11/06/2026 14:50:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 14:50:30 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 14:50:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 14:50:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 14:50:34 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 14:50:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 14:50:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 14:50:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 14:50:39 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 14:50:39] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 14:50:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 14:50:40 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 14:50:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 14:50:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 14:50:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            
[11/06/2026 15:26:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 15:26:33 - INPUT: {"rutTecnico":"20988335"}[11/06/2026 15:26:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 15:26:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

)

11/06/2026 15:26:34 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:26:34] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:26:35 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:26:35] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:26:37 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:26:37] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:26:38 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:26:38] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:26:40 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:26:40] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            
[11/06/2026 15:29:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 15:29:18 - INPUT: {"rutTecnico":"20988335"}[11/06/2026 15:29:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 15:29:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 09/06/2026
        )

)

11/06/2026 15:29:19 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:29:19] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:29:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:22 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:29:22] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:29:27 - INPUT: {"rutTecnico":"20988335"}
11/06/2026 15:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

[11/06/2026 15:29:27] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:29:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12999
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3153
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:29:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:29:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                
=========================================
FECHA: 11/06/2026 15:30:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1G6BEIKARI3s4NhJghnNkUDWjlyrWcEvgwSk-5d5GNh-1VsB_Se
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "EP3153",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega tinta cyan\n01 itin3103\nsin contador",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12999",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABFASQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBBAQLBQUFCQAAAAABAAIDBAURBhIhMaFBUZGxExQWIjIzYXFygcEVNEJS0SMkYqLSc5Ky4fAHQ1NVY2XC4vH\/xAAZAQEBAQEBAQAAAAAAAAAAAAAAAgEDBAX\/xAAzEQACAQIDBAgFBQEBAAAAAAAAAQIDERIhMQQTMlEUQWFxgZGh0SIzQrHhJFJiwfBTcv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAReEgDJOAFX1l\/tVDnw9dEHD8LTtO7AtSb0JlOMVeTsWKLMv1vSSP2KKhqql+eAaBnsyeS+TeNUVh\/dLI2BvXOd47S3uVbuXWcOlUvpz7k2aheEgDJOAFmfs3VdZjxi6w0zOqEbx2Ad6DRbJjmvutXUn4sZ7cphitWN9UfDB+NkXc93ttNkTV1OwjoMgz2Kun1lZIfRqHynqjjP1wvqDR9kgxmlMpHTI8nlwVjBbKCm9RRQRnrbGAU+BD9Q+S837FEdc0TjiCiq5egHZG89qeVlfJ9307VvzwJ2vl+FaR8kUEe1I9kbB0uIACqqnVVmpcg1rZXAZxEC7PzG7mqVnpEiSnHjq28F\/ZA+29SSjMVh2OrwhPDtCfaWr3+hZ6ZuOO04f1hDrI1BxbbTV1R4Zxgcs+3sTxvV1b6mhp6Nh4OkOSOnrPu4Krc0kccafDOT7l+B4zrN2\/wARo2Z\/DtDd\/MviWu1dAzbmgoI29b3tA5uX35P36r311\/ezrbACBy2e5fUOhbY121PNUTu6dp4APYM80vFa28jMFZ8OLxa\/pMqp9WXmn9OW2n+zcH\/4SVHZrm8FwAipnnq8Gd\/YVrYNM2WnxsW+J39pl\/flWMVPBAMQwxxjqY0DuTHDkatm2hvOpb19jKU+q73KM\/YMkoxxYx4HcVCrNaXuF2w+iipieAkjdtcz9FvFBulZbaSmJuT4vBngyQB217m9KlSjfhOk6NVR+bbyM5RVWprswuo7vQdZAAyPZgtJ6VK+zNXOyX3mnB\/hbu\/wqFaYY7jqGKutFC+ipIQduQ5DZd\/AdA9wW0WzlheSIoU95G8pPzdmZgWPUuN9\/wB\/uKfZWq\/+dw\/3f\/VadVddqO02\/ImrGOeM\/s4\/Pdnq3cPnhSpSei9DrKhSgryk14srDS6xg9GvpKgdALQD\/hHevl931PbWmSttUVRE0ZLoTvAHHgT3L6Oq62vy2zWiafo8LLuaOzdzC+PsO\/XgZu9y8Xi2s+AgA4fLd25V\/wDpI4N3+S5N+nqaC23CG6UMdXDua\/O4neCOhSlGoKGG20cdLAPMjGMkDJ9pwBvUlcXa+R9GGLCsWoREWFBERAEREARFV3PUVttOW1E21L\/wo\/Od\/l81qTehMpxgrydkWi5zTRU8ZknlZEwcXPcAB8ysyLvqC9Ocy10TaOA7hPON\/wAv8gV1g0bHMRNd62etmxvBeQ0ezr7leBLiZ59\/Kfyo37XkjrW6ztdMSynMlXJvwIm7s+8\/TKjC5aoum14nb2UMR9GSb0h8jx7OlX9JbKGhA8VpIoiBjLWjPbxUpMUVohuqs+Odu73Mv5KVtdvu95nmGfVxbmj3Z3clY0mlrNRkObRtkcMedKS\/kd3JW641FXTUjNupqI4W9b3hvesxyeRS2ejDNrxef3OkcbImBkbGsaOAaMAL6Wdqda21j\/BUjJqyQ7miNmAT1b9\/JcHVmq7mf3aijt0TuDpfSHvzv\/lTBLryMe009IZ92f4NQXBoy4gDrKqqvU9nowdutZI4fhi88n2bt3aq0aQnrHiS73aeoP5GHAHuznd8grWk07aKI5hoYy780g2zz4LbQWruZiry0il35\/b3Kp2rautOzZ7RNOM48JIMN4+z9U8V1dcM+Gq4KBhO9keCR7sZ71pwABgDAC9TGlohuJS45t92Rmo9FU0j\/CXGvqqyTPFzsA955q0pLDaqLBgoYg4ficNo9p9ysUUucnqzpDZ6UM1E8AAGAMAL1EUnYIquu1HabfkTVjHPGf2cfnuz1buHzwqp2o7tdAWWW1SBpG6efAGPdw5lWoSZwntFOLte75LNmne9kbC+RwY1oyXOOAFS1+rrTROMbJTUyg42IRnnwVHUUkLyX6j1GJd\/3enfnBHsA3dXD5rpSXu00TnRWGyzVMufTxvPtzvOOHUrVNd55p7VJ5ZR7835IkurNUXoObS0rbbATjbkyH4+e\/sHzUin0lQQO8budTJWytGXvnf5nv8A\/pXLb1fcsFjKe3RnhteljmeQXrNG+Mnaut1qqs5yADgDtz9Ft7ddu4lRcnfC5P8AlkvL8E2p1PZLcwRtqGP2dwjgbtY7Nw7VBGprpcXNbabO\/Zdwmnzs+\/du5q3o7BaqHHgKGIOH4nDad2lWKi8Voj0YK0uKVu73ZlRp++XTBu91MUZwTDD9cYAParOh0vaKAAtpRM8fjm84n5cOSt0WOcmVHZqcXdq75vM8AAGAMAL1EUHoCIiAIiIAiIgCg3O8UVohElXLslwOwxoy5\/uCnLJ2+GG6avr5K94lfSnZp4ntAGyCd4HTg9+dyuKTzZwrVJRtGOrPRNqDUgzCPsuiP4znbePZwPcParK2aWtltcJRGaibj4SbziD7BwHerlEc3osjI7PFPFP4nzf+yCKHXXegtoPjdVHG7GdjOXH3DiqN+qK+5ODLFa5JATgzTtw0dhx2n5LFBsqdenB2bz5dZpnvZGwvkcGNaMlzjgBUdfrC10jjHC51XLjcId7c\/F+mVFZpevuTi++3SSQE5EMDsNHaMdg+avKG00FtaBSUscZAxtgZcfeeKq0Vrmc8VapwrCu3N+RQmfVN53wQstdO5u4vPn92eQUin0bRlwluNRPXTHe4yPIGe\/mtEizG+rI1bNFu8\/ifb7aEeloaSibs0tPHCMY8xoGfepCIoPQkkrIIvCQBknACrarUVopB+1r4SeqM7Z5ZWpN6GSnGKvJ2LNFk6vX1HHkUtJLMet5DB9Sq12pdS3IfuVKWNxjMMBdzOf8ARXRUpdZ5ZbbRWSd32G9Lg0ZcQB1lVFbqmz0J2XVYmf8Alh8\/mN3NZVumtSXRwdWSOa09NRNnkM\/6CsKX\/Z\/GN9ZXOdu9GFuMfM57luCC1ZzdfaJ\/Lp27znWa+kcS2hpGMG7z5znkP1VNNc667PdHU1dVVZG6Gnbstdv\/AE6cFbal0nZaXBFGJXDplJdn5cOStYoYoGbEMTI29TGgDkt3kI8KI6LtFT5s\/wDehhqCz3jINFaKej35E1T5729ueTVajSldWAfat6mkb0xRbm49md3JahFDqyZ3hsdOKs7v7eSKak0nZqTBFIJnD8Ux2uXDkreONkTAyNjWNHANGAF9Iobb1PTCnCHCrBERYWEREAREQBERAEREAREQBERAfO2zb2NobWM7Od6p7zp2O4ztraWU01ewjZlB3HHWPcvu76aob1UNnqXTNkawMBjcBuyT0g9ZVf5GmPIp7xVx9W\/h2ELpGyzueWrjleLhdd58fbd9s0hbd6DxqAD7xTjn1duFT12r6y5VHgWTi30pO9zWlzse3HcMK6dpO4lpY3UlWGEY2SHH\/wA1W1mi7rTwBlFXmpYP92SY8e4ZIXWLp3PDVjtVrK9vBv0zO1tp9H0zRNJWMqpBxM4OCfhI\/VXbNT2GNgZHWxsa0YDWscAOSwD7XNRyFlyiqqVgIy5sO2PfxA5qVS26wzECW+SRkkbnUpbzyQqlCLzbZypbTUh8MYxXp92bV2rbE3Ga8b+qN57go8mtrMz0XzSfDGfrhVdNpjTcuyRefCcNwmYD2YyrOn0rp3zQ0Ccg9M5Oewrk1TXM9iqbXPTCiNJr+gAPgqOod1bWy36lRzryonOxR2oud0ZeXcgFpIbFaYABHbqfd0ujDj2lTWMZG3ZY0NHUBhZih1I6KltL4qlu5GQF41dWfd7Y2IEbi6Mt+fnFfYt2saz11xjpx1BwBH90fVa5Fm85JFdFvxTb8TKeRc1SAbjeaioPVvOPmSVNp9GWWAedDJOeuSQ\/TAV8ix1JcylstFZ4fPP7kWC2UFN6iigjPW2MAqUvC4NGXEAdZXJ9VTRjL6iJo\/ieApzZ3SjHTI7IoT7za4\/TuNKPZ4Zue9cH6lssfpXGE\/Dl3cmF8iXVprWS8y0RUj9YWNhwKwu+GJ\/6KM\/XVobnDal+Pyxjf2lVglyIe00V9SNIizHln4T7tZ6yXr3Y7soNSXuYfsdOTNzwLy7+kJu5E9KpdTv4M06LMeP6wlxsWumiHW5w\/qTwWs59\/jFHT56MA45FMHah0jlGXkadFmBZdTSjE99awf8ATB\/QLzyTuMoPjGoqp5PQNrA\/mW4Y8xvqj0pvzRqFwkraSL1lTCzP5pAFn\/Iajk+8V9ZKfiH1BXaPRNmZ6TJpPikP0wstDmMdd6QS8fwWb73aYzh1ypc+yVp+q4P1PZGO2TcIyfYCe4LmzSVjYMChB9rpHn6rszTtmYMC3QH4m570+DtH6n+PqRX6ysbeFU5+7oid9QuD9dWhucNqX4\/LGN\/aVcstVuj9CgpW787oWj6LuyGKPGxExuOGy0DCXhyGHaH9SXh+TOeXNG\/1VBWPB9HzRv5p5X1L\/VWCseD6PHf\/ACrTomKPIbut\/wBPRGY8pL3J6vTc7ejzy7j\/AHQhu+qXjMdjjb8buntC06JiXIbmo9aj9PYh2uSvlomvuUEcNQSdpkZyMZ3dJ70UxFLPRFWVgiIsNCIiA8IBGCMgqJPaLbVACahgfjgfBgEfNEWptEuKlqiBNo+ySkkUhjJ6WSOHLOFHfoazu4GoZu6JB9QiKscuZyezUX9KOfkJb2+qrKxmePnt38kGiwBgXerAHtRE3kuZPRKP7R5Gf94rO1PI+obuZfqxregZP6oibyXMdEo8vVjyOld62+Vj8cN53c08h6Y73XGsJ6TtDfyRE3kuY6JR\/b9z0aCtIOTNVn2F7f6V0ZoezNOSJ3+x0n6BETeS5mrZaC+lHdmkLGzf4ltH+KV5+qkM03Zo\/Rt0J+IbXeiLMcuZaoUlpFeR3ZaLZGMMt9K33Qt\/RSGQQxeriYz4WgIiy7LUYrRHRERYUEREAREQBERAEREAREQBERAEREAREQH\/2Q==",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:30",
    "ubicacionGPS": "LatLng(lat: -29.8685337, lng: -71.2369884)",
    "horaLlegada": "15:28",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 15:30:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[11/06/2026 15:30:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('73836100', 'EP3153', 1, 20988335, 0, NOW(), 
				'08:00', '15:28', '15:30', 10, 'se realiza entrega tinta cyan
01 itin3103
sin contador', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781206203.png', '', null, 'COMPLETADO','LatLng(lat: -29.8685337, lng: -71.2369884)' )
				
[11/06/2026 15:30:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200697

11/06/2026 15:30:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200697'                    
				WHERE idllamado = 12999			
				TO ENVIO: null, fcarrasco@cnsa.maristas.cl


11/06/2026 15:30:04 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12999			
				
11/06/2026 15:30:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 15:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:30:06 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:30:06] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12999
            GROUP BY l.idllamado;
            

11/06/2026 15:30:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:06 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:30:06] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12999
                

11/06/2026 15:30:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:32 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:30:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:32 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:30:32] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:35 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:30:35] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:35 - INPUT: {"rutTecnico":"20988335"}
11/06/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

[11/06/2026 15:30:35] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 12933
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 73836100
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [ModeloMaquina] => ESTUDIO 6528A
            [SerieInternaMaquina] => TO3152
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:33:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:33:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:33:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:34:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:34:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                
=========================================
FECHA: 11/06/2026 15:35:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ktAtHA6b8RwRdhT56.zTpxlX.bdUK558zmJFPu.D9WmxRDqfvsv
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "73836100",
    "serieinterna": "TO3152",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "null",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se realiza entrega de corchetes\n01 icor2830\nsin contador",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12933",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABfAPoDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgECAwf\/xABEEAABAwMCAgcFBAcECwAAAAABAAIDBAURBiESMRMiQVFhcYEUMpGhsRUWI8EHQqLC0eHwJDNTgkNFUmJydJKy0uLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgEDAgQDBwQDAAAAAAAAAAECAxEhEjEEMkFRE3GBFGGRobHR8CIjM8FCUuH\/2gAMAwEAAhEDEQA\/APsyIiACKBc7vT2noOnZI7p38DeAA4PjkhT12wqkm2l0CIi4MF5ieF0zoGysMrRlzA4cQHl6hdnvbGxz3nDWgknuCzOkA+sqbld3ggVMvCwEY2G\/5geiZK6bJTqaZxgupqEREpUIiIAIirLzfKWywtdLmSV+0cTfed\/ALqTbshZzjBapPBZqvrr7bLaS2pq2NeObG9Z3wCpGUWoNQs6Stqfs6leOrDGDxEePb8T6KyoNKWigwRTCd4GOObreuOXyT6YrdmfxKs+SNl3f2IB1fPWPMdotM9Qf9t4wB54zt6hTrP8AeCWqdNdTDDAW9WGPGeLbz259vNXIaGjDQAO4LlcclskNGlO95zb+SCIiQ0BERABERABERABERABERABERABERAGY1n\/qz\/mR+S06zGterHbnn3W1Iyf68lp08uVGan\/NU9PoERR6+ugt1HJVVDw1jBnzPYB4pNzQ2krspdV3CQRRWek3qq7q8\/daTj57jyyrm3UUduoIaSP3Ym49eZ+aodNUktxq5dQVzMSynFO3J6jeRI+nx71p1SWP0magnNuq+u3l\/wBCIimagiIgDrI9sUbpHe6wEnyCy2l6Z11q6i\/1wD5HycMDTuIwO76DyPetDcgTa6sAZJgf\/wBpVXowg6bgweT35\/6iqLEGzLUWqvGL2Sb9S+REUzUEREAEREAEREAEREAEREAERQbzcPsu01FYA0ujb1A7kXHYfMrqV3YWUlFOT6E5FnNM32suNTPTVzAJAwSsxjZrsEfJwWjXZRcXZi0qkakdUQiIlKBERAGa10zNijeM5ZO0gjs2IWiif0kTH7dZoOypdZxmTTc5AJ4HMdt\/xAfmrO1yia1Uko\/XgYf2QnfIjNHHESXdL+yUsnc3HUuomWlmfY6Il9Q4H3ncsehOPirbUV5FooMx4dVTHhgZjOTtk+mfoummbQbVbeKbepqMSTE8wexp8sn4ldj+lahav7s1SW27\/pepcNaGtDWgAAYAHYuURTNYREQAREQBw4BzS07gjBWTss\/3dvNTZ615bDO\/pKaR52Oe8+Ow8x4rWqDdLPRXiER1ceS33ZG7Ob5FPFpYexCtTlK0obr8sTkWXFr1Jaepbq5lZDvhs4wW9vb5ntXP2pq1uWus0BcO52x\/aRo7MX2i3NFr0v8AQ066uc1jS57g1o5knACzRqtZTDDaCkgB5HiBIz\/mPLyXDNLV1wf0l9uckw5iKI4b9MD0C7oS3Zzx5SxCD9cEyt1faKM8DJjUyZxwwDi+fL5qGLzqWvPFQ2dsEffUc\/mR9Crqisttt4Hs1HGxw5PIy74ndTkaorZB4dafPK3l92UFmvNxluklsutPHHO1nGHRnYjbb6q\/WYk\/E\/SJFw\/6Km63wP8AELTrk0sDcO21JN3s2giIkNAREQAWb1zIRZooGjifNO1oHbyJ+uPitIsxqr8e72WkG4fUcT2jnjLd\/hlPT5kZuK\/ha74+J0pohR696I8nUYazHgAP3StUsxgy\/pDzjIhpvhkfzWnXZ9PI5wytr82ERFM1BERAFBqu5Miovs2OF1RVVYwyNozgZ5\/ELPWyW8SWF1Y28spaWlzG1pG4wOWw3znzU+tuNNb9b1FVXnDIKcdDwjLnEgbfN3cquxWoXm5S008kkFLE72j2cnd3FjG\/ljfx8VpikonjVZynWw85Vr2+PzObfXzPu1JddQCWSBwIglLcNa4HY4H9dvYvobXBzQ5pBBGQR2qLV22mrLc+hkjAhc3haAPc7iPEKo0nWSiOptNW\/iqKKQtGe1n57\/IhTk1NXXQ2UYuhLRJ31dff+bGiRF51Ezaamlnf7sTC93kBlSNrdslXXantlvrhSSykvBHGWjIZnv8ALmVbNc17A9jg5rhkEHIIWV0za4rnZayprm9JJcJHcTyOQB2I\/wA2fgO5SdIVMrIaq0VBzJQScId2FpJ\/MH4hVlFJO3Qx0q03Ja9pbfnkaNRK+6UdsYx1XMI+M4aO08v4jdS1lbdGLzq6vrJmiSnpB0UYcA5uRtt+0fVJFJ5ZarUcbRjuzQUFxpbnB01JKHt2yORbtncKUsldofuzdqa50Tejo5ncFRC33BntA7Nh8QtBdK72Oz1FbG4EsiLozzGSOr8yF1x2t1FhWdpKe8d\/uSY54pnPbHI1zozwvAO7T4r0WG0BE99dWVLiTwxtZknnk5\/dW1kmihBMsrGADJLnAInHTKwcPW8WmptWPRFXzX20wZ6S40+QMkCQOPyUKXWVkjzw1L5COxkTt\/iAuKMn0HlXpR3kviXqLMu15aWnAhq3eIY3\/wAlx996cg8FtrHEDPuhd8OXYn7XQ\/2Otsljk1neK2R4ayni4C4nZoGATns90\/NaOmqqeshE1NMyaM\/rMdkeS+YR11XVCphgjmd7XKZagRDLnNzy+JPxCtNPXua0GrporZUTtMnEIx70fZvt5fBWnSbMPD8ZGLs9m3k+gosx988A8doq2kDfI5fJSKXWlmqHBrpJICf8Vn5jKj4cuxvXFUW7ai\/ReFNW0tYzjpqiOZuM9RwOF6veyNvE9waO8nCQummro7LMXg8etbRGeTWFwxzzv\/BW1Rf7RTAmW4Qbcwx3EfgMrHX6\/U8uoYq+3TF4jpXRh4aRhxDxnfHLiCrTi7mLi61NRWeq+pd6f\/t2prtcsENBELD2OHL9wfFadYWw3yW22ptJSWeqqpeIue5rSBxHyB7APgrP7Z1RMQYLExjScYkdv8yF2cG2LQrwjTW7by7J9TToswL5qWIfjWDjI59GTv5c1o4JHy08ckkZie9gc5hOS0kcvRTcWjXTqxqYV\/VWPOtrae30r6mpkDI2Dc9\/gPFeNnuRu1CKv2Z9O1ziGh5zxDv\/AK7lRVETtQavdSTb0NA0OdHn33f\/AE\/AeK1TWhrQ1oAAGAB2LrSS94lOcqk21yrHmeE9BR1UzJqimjlkj9xz25ws+D7F+kMjYNrafv7h\/wCi1CzGofwdUWScbF7zHn1A\/eXYZdheISUVJdGvsadZevItet6SqADIq5nRvPLJ5fXgWoVFq6gkq7R08G09I\/pmkc8Dnj6+i5B5t3G4mLdPUt1n4F6sbdK6sn1FXW1lRxxvpXtjYxw5hhdg+OchWMurqOKyQ1bXtmqpWgCFvPj7cjsGVUxaaucVHHd2SPN0EnTOYeZBxsR389vHCeEdOZGfiKniJKnnq7di80nOx2mqfLgOi4mvORgYcfyVZa66nbeLrfJpWRUZ\/DY7I65GOQ3JPVBx\/vclXss99rKmpggp30FPUn8drndTn+rty25Dsx2K1t2iIITHJcKl1UWDaMbMHh3n5JnpV23uSg601BRjy9Xj3Ei1arhuL6zMDom08RmHE4ZLAO75+qgaYuVFa7PJV19S2N9XO5wbgkkDbYDxyu+orNX\/AGi+rtkJe2en6GVrSNhy2G3ZhV0WnLpZqlsotsFzZzw454T5Z8uw\/mhKDXmclOvGaur2vm3frgm3PUbL3QTUVDaaqpEgwHlvunsO2e75Kmku11qtMvpHRw+x04ZE95PX2ILRjPh3dhWjGqblD1ZtN1TQ3bLeLHp1VlLu+SaoqJoaOppI5nB8sTmnhz358zn1TwXSxDiJvm1tu1nixbaf0zWVttbUG4y0sExJMTAeuBtk7+fYrdmh7THmSeaolxu4vkAGPQfmotPrWCnoogLZO2JjAwOGA3bbb4Kuu+oqy\/sbBRUlQylB\/GEYLnP8CQNvJL+432Kp8JCC\/wAn6kG5soBWMmtdE51DTyBj5DxOErs5xknlgf1lfQoLZboWtdBQ07O0ERAH6LIVctwrLL9lUump6aLLcOIJOQeZy0c+9T6au1d7LFFFaYGiNoZxSnB22zu4dyJptLPzO8PKMJt6b3ttH6Gqa1rBhrQ0eAwq3UlYKGw1UmSHPYY2455dt\/P0VZ0Gsav3qmlpB3NAJ+h+qpa22V1Xf6ez1N1mqyevLz4Yts8ieePqEkYK+WaK3ES0WjB5xnG5baSjo7Rafaq2pghlqjxDpHtaQzsHrz9QoNDf7fQakulXLKXRTY6MxtzxK5p9FWaH345ZyDn8SQ\/lhQdK0dJHeLvA6GMvhmHRgtB4Wgu5Z37vkmvF3ZHRVj4cML59PQ9\/vm6pOLdZ6up8SMYPplUd7v1e6QxVlqo4XvbkCSIPeAeR35HHgtde75T2SmGcPqHDEUI5nx8AqCaxznT9yudxYHV1SwSYcN4gCDt3bDl5BENKzYOIVV3gp3ay8YR40miK2UtqTcIIeMcTXQAnAPdy7FFuGlLvTS9NI11xjG56N54uXcd\/hlbLTsvTafonkknog3JPdt+SskrqyTKR4GjOmmsXyYe31WkmwSukoOhnia4mKclxcR2Ak4z2b4Uaqjob3qW2MoYBDTyxNLmBjW7Nc4nIG3IKw197IyCn\/Cj9qkdnjx1uEDv9RzVTo2nlfqGCYxvLGMceMg4HVLRv6Eeh7lVcusyTuqqoNK11srH0dERZD3AiIgDJ1E507qqWtqh\/Yq4cPG1pJadufr8j4LUxSxzxNlhe2SN4y1zTkELpU0sFZCYamFksZ5tcMhZ52mK+gkLrJdHwMPKKXdo+R7+5UxLfDMlqlFvSrxfxRp1l9XFr6+zwtP4xqOqM+LRk+uPmuc6yGIgKQ55y7bf15KVadPywVzrndKn2qtIw046rB4eK6kou7YtSUqy0KLXvZerggEYIyCuUUjaVlNp610tV7TFStD+LibncNPh3eHd2KzRF1tvcWMIxxFWCIi4MEREAF0lijmidFKwPY8Yc1wyCF3RAGdGiLV0vE587mZz0fGA3s7h\/WVe09PDSwiGCNscY5NaF6omcm9yUKNOnmKsEREpULOabstVBW1N1uODU1BPCO1oJyduzs8gtGiZSaTROVOMpKT6BU9z05T3GrFW2eamnwA58ZxxDx+AVwi4m1sdnCM1aSKW1aXorbMKhxdU1GP7yTffOc47\/AOCsrhT+1W6pp\/8AFicwbd4wpCIcm3dnI0oRjpirIoNF1Am09HFvxU73RuB88\/mrO6XOntNE+pqHYA2a3teewBVNRp+4UtfPV2SvbTe0kuljkGW58Nj2\/X0PWm0kZ6ltZeqx9bMP1P1OfzHLbZUai3qbM0HWjBU1HKxfp5nhZbR9tOmu95hbL7T\/AHEZPuMyf5Y\/mtS1jGABjQ0AYwBhcgADAGAFyklJyZopUo01Zb9X3CIiUqEREAf\/2Q==",
    "razonSocial": "FUNDACION NUESTRA SEÑORA DE ANDACOLLO",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "FRANCO MONDACA",
    "correoContacto": "fcarrasco@cnsa.maristas.cl",
    "correoCliente": "null",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1056\",\"id_control\":\"28999\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:36",
    "ubicacionGPS": "LatLng(lat: -29.8681195, lng: -71.2364848)",
    "horaLlegada": "15:28",
    "horaDespacho": "15:30",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 15:35:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:73836100

[11/06/2026 15:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('73836100', 'TO3152', 1, 20988335, 0, NOW(), 
				'15:30', '15:28', '15:36', 10, 'se realiza entrega de corchetes
01 icor2830
sin contador', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781206554.png', '', null, 'COMPLETADO','LatLng(lat: -29.8681195, lng: -71.2364848)' )
				
[11/06/2026 15:35:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200698
[11/06/2026 15:35:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200698', 'TOS-I1056', 1)
				
[11/06/2026 15:35:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28999 and
				    IDproducto = 'TOS-I1056'
				

11/06/2026 15:35:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1056';
                
11/06/2026 15:35:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200698'                    
				WHERE idllamado = 12933			
				TO ENVIO: null, fcarrasco@cnsa.maristas.cl


11/06/2026 15:35:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12933			
				
11/06/2026 15:35:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 15:35:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:00 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:36:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:36:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:00 - INPUT: {"rutTecnico":"20988335"}
[11/06/2026 15:36:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:36:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/06/2026 15:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:36:00 - INPUT: {"rutTecnico":"20988335"}
11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

[11/06/2026 15:36:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:36:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
11/06/2026 15:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12933
            GROUP BY l.idllamado;
            

11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:36:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12933
                

11/06/2026 15:44:05 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 15:44:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[11/06/2026 15:44:05] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 15:44:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)

11/06/2026 15:44:14 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 15:44:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:44:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:44:23 - INPUT: {"rutTecnico":"21773342"}[11/06/2026 15:44:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

11/06/2026 15:44:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)
[11/06/2026 15:44:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

11/06/2026 15:54:11 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 15:54:11] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:54:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:54:18 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 15:54:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:18 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 15:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

[11/06/2026 15:54:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:54:18 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 15:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[11/06/2026 15:54:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 15:54:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 15:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 15:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 15:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:28 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

[11/06/2026 16:19:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:19:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:19:28 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:19:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:19:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:19:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:19:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:29 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:19:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:19:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13002
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:19:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                
=========================================
FECHA: 11/06/2026 16:22:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BR9fThsDY+FfRZIBf6NJR8M1O97mxTZFwMOb+fpP7sU7PSu3fgl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15333221",
    "serieinterna": "TO2906",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "75473",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, cambio de Repuesto, traspaso piezas adicionales\npruebas varias",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13002",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADUALcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABDEAABAwMBBAcEBgcHBQAAAAABAAIDBAURBhIhMUETUWGBkaGxFBUycSIjQsHR4RYzdJLC8PEkJjVSYqKyNDdEY4L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAwEQACAQIDBQgCAQUAAAAAAAAAAQIDERIhMQQTQVFxIjJhgZGhsdEz4RQjQlLB8P\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBEVLfr97v2aOjZ09wm3Rxjfs55lSk27IpOcaccUj1ddQRW6up6KKE1VRK4B0UZ3tB4d6j3i4Vrr9QWu3yhjnHpJyBnDQeB7gfnkL3ZrMy0RS3G4SiWse0vmmcc7A4kD8VD0pEbhXV1+madqZ5ZFn7Lf6YHcVolFZrgcblVk1F5YnpyS+zUoiLI7wiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiq75e4bPTZx0lTJuhiG8uPWexSk27IrOcYRxS0OOoL97sYylpWdNXT7o4xv2e0j0Xyw2L3eHVlY7prhPvkkcc7OeQXHT9ilinfdrpiSvmO0AR+r\/P0WhV5NJYUc9OEqkt5U8ly\/ZntY1kkVsZQwN2pq54jaOeN2ceQ71b26iZbrdBSM4RMx8zzPjlZ+mLb5rWWoDy6ntzdlnUXbx65+eAtUkskoij25yqeS6L9hERZnUEREAREQBERAEREAREQBFFr7jSWyAT1kvRxl2yHbJdv7gepSksRdN2CIiEhEVNS3aol1ZW2t4Z0EMLXsIH0s4bn\/AJeSlK5SU1G1+LsWNfXQW6jkqqh4axgz8zyA7VntPUU92rjqG4ABzt1PFjc0dfrjvKawLX1lrgqZOjony5lON3Ec+W7PiVp2bGw3o8bGBs7PDHYr92PU57b2s09I\/PM9Kuv1wFss1RUjO3s7LMf5juH49ysVlb8TeNS0VmY8dDD9dOPPB7v+SiCu8zTaJuMMtXkurLHStuFvscOWkSzjpZMjfv4DwwrlEVW7u5pTgoRUVwCIiguEREAREQBERAEREARFQ6hvU1LLDbbfh1bVHZBz+rB4E\/zyKmKbdkZ1KkaccUiXqOh94WKqha3LwzbZuyct37vnjHevGma83GxQSvcXSMHRvJHEj8sLpZLZPbKVzamrfUzSu23uJJAPZlVOm8W2+3Oz4wza6aEY4N\/oW+BV9Ytcjnbaqxm1bFk\/lGoREWZ2BZih\/wC4ly\/Zh6RrTrMWL+1atvFYN7WERB3fj+BXhozmr5ygvH\/TL+toae4UzqepjD2OGO0doPJZz3Le7Dk2WpFVT5z7PNjI4fIHh2LVooUmsi9SjGbvo+a1MxFrH2d\/RXe3T0bxn6QaSD4\/muekCysrbhdZJI+mqJC1jMjaa3jw8PBS9Z1hp7IYI8mSqeIwA3O7ifw71x\/QigfSQDblhqWMbtSxu4uHE4\/nktezh5XONqrvUk8WHPlqaZFlP7zWF\/K60gH\/ANgAeIO7tCsrZqi3XKZtOHPgqTu6KUYOerPBZuD1WZ1R2iLeGWT8S5REVDoCIiAIiIAiIgCIiAhXa4x2q3S1cnFowwEHBceA3Kr0xapYxJd64B1XWHbAI3xtPpn0wodef0i1ZHbx9KjoPpTdTnDiPHDfFa1aPsxtzOSH9Wo5vSOS68WFlb80W3VVsugIayU9FKeQ5ZPc7\/atUqHWdJ7Vp6R4aXOgc2QY8D5E+Cim+0X2mLdJtarP0L5FEtdV7da6ap3ZkiaXYOd+N\/mpao1Y3i1JJog3i4Ntlqnqyd7G4YOtx3DzULSdvfRWZkk2emqD0j8jeM8M+veq25SfpPqCO1w4dRUbukneHbnncMeZHitY1oa0NaAABgAclo+zG3M5oPe1XPgsl14\/R9RFxrKllHRzVMnwxMLzvxnA4LM6W0ldmcmcbvrmKIAmC2t2ju3bff24\/d71qVnNG0jm0E1ymB6eukLyT1AnHmT5LRq89bcjn2ZNwxvWWf17BZrWcNFFazVkNjrQ5ohkbueTkZ3jsyri63WmtFG6oqHdjGDi89QVHardVXu4NvV3i2YwM00BO4DkSPPt+SmCt2mV2iSmt1HNv28fo0VC6Z1BTuqBiYxNMg\/1YGfNd0RZnUlZWCIiEhERAEREAVdfrmLTaZqnI6TGxEDzeeHhx7lYrK3Rgv2q6e3b3U1EOkn5gncceg8VeCu8zCvNxhaOryRN0lbDb7SJpgfaKs9LITxx9keG\/wCZKvURVk7u5pTgqcFFcAuNXTtq6Oamf8MrCw94wuy+OcGtLnEAAZJPJQWaTVmZ7RM5fZHU79z6aZzC3qzv9SV8v16lmmNmtH1lZLlsj28Ihz38j28vmqCCesqL5cqGxzN6OslLnSjcGtyckfvcR3LX2Wx01mptmP6c7x9bMeLj9wW8kovEzzqMp1KapxySyb+j1ZLRFZre2nYdp5+lI\/HxO\/DqViiLFtt3Z6EYqEVGOiCzWs5pJaWmtcGDLWTBuM8gd2e\/HgtKso2aOt1nUVc8gZS2uPZ2nkbIdw7t5d4eF6et+RhtL7GD\/LL79jS0tNHR0sVNEMMiYGjuVZe9R01pxAxpqKx+AyFm\/eeGer5cSq2pv9wvk7qLT8RbGN0lW8YAHZ1evUBhWdl05TWkmdzjUVb8l87+O\/jjq9UwqOciu8lU7NHTnw8ufwQbbYauvq23S\/uEsnGKm+zGO0cO7x3rTIirKTZvTpRpqyCIiqaBERAEREAREQHOombTU0s7\/hiYXu+QGVntFwF9FUXOZo6erlJ2scWj88\/NWt+iknsVZHE3ae6I4G771S2PU1porRBSVM7oZYW7L2mJ3HO\/gFpFNwdjjqTiq8cbskn6mqRUUusrHGwubVPlP+VkTs+YAUF99vl4AjtFudTRuJBqJuXju9VCpy4mktppLJO78My9uV4obTFt1cwaT8LBvc75D71niLtq5wyHUFrON32pRnz9PmrC36UpoJvarjK64VR3l0u9o7jx7\/AK\/U3UdNSm7qVvyZLl9v6MhJRU9j1hbG00fRwSxGM9rt4yTzOS1a9ZjWrTC23XAf8AjVHrg\/wrTAgjIOQUnmkyaCUJzgtLp+qPqKPW19Lbqcz1czYmDhk7yeoDmVmnXK8ame6G1sNFQ5w6pf8AE4c8fgPFVjFvM0qVowdtXyRZXrVNDaQ+JrunqhuETeDT\/qPL1We0\/peS6wCtuE7200ry8RNODIcneern48l6vtlpbTQ0tvpR0tZXShrpn\/ERkbuwZI\/NbWmp2UlLFTxjDImBjfkBhatqEezxOOMJV6z3ukeHX5FNTQUcDYKeJsUbBgNaMBdURYHopJKyCIiEhERAEREAREQBERAFFktdvmdtS0FNI7rdC0n0UpEvYhxT1REjtVuhdtRUFKx3W2FoPopaIl7hRS0QRFwraptDRTVT2Pe2FhcWsGSQEDaSuyo1nD0um5nYyYnsePHH3qGdXCSlpqW2QPq6+SJuQGkNY7G\/PXjw7VT1l1qtR09S+etgoaWJjnNpulG1K4DIGN21vH5K70rWWijscBdU0kE789LtyNa8naPHJzwXRhwxzzPLVXe1m4Oya16Ph6n2h0vJVVHt9\/mNTOTkQ5+g3+eobvmtIxjI2BkbQxrRgNaMAKGb1agM+86Td\/72\/iolRquywMditZI5vBrA45PzAWTxSOyG4orJr1zK9o9668c7O1Dbo8ccDa\/qT4LUr8\/09qFtBFUkUU9ZW1Mpe\/YG4j57zx2uSuRcNV14\/s1tho2O+3MfpDuJ+5XnB3OfZ9ohhbzbbvkjTr4XBoy4gDrKzPubU1V\/1V8EIPKBvDw2V9GiaeU7VbcKupd2uA9cqmGPFnRvar7sPVpfZcyXi2RPDH19OHE4A6UZU1U0Gk7JBgiiDyOcji7yzhXKh4eBrT3n99vIIiKpoEUOSsmZdIaNtFI+GRhc6oHwsI5H+eaKbEKSd7ExERQSEREAREQBERAF5c1r2lr2hzTxBGQV6RAUtbpezzQSuFDGx+yS0sJbg4PIHCptK2G1XOzCeqpOklEjml3SOGfA9q2RAIwRkFZnQhLbRURE5LKl3y+Fq1UpYXmcM6NPfx7KzT4dCcNI2JpyKAd8rz96p9WW+3W62w01HQwsqKmQNa4AbWBx3nfxwO9bFZaoHvXXUMQyYbdHtOxgjb4+pb+6kJNu7eg2ilTUMMYpN5af9wNDQUcdBQw0sYGImBuRzON5UhEWR2pJKyCIiEhERAEREAREQBERAEREAREQBERAEREAWY0f9XU3enG4R1O5vVvI+5adZjS3+Oag\/af4nq8e6zmq\/mp+fwaOaVlPBJNIcMjaXOPYBlZ7RsTpoay6yj6ysmJGeQB\/EnwXbWVYaexugYCZKp4jaAMnrPpjvVpa6IW+2U9IMfVMAdjmeZ8cqdIdSH266XCK93+iWiIszqCIvLnNYMucGjtOEB6RQZr1a6c4luFO09XSAnwC5t1FZ3vDW3CHLjgb8KcL5Gbq007OS9SyREUGgREQBERAEREAREQBERAEVfVX21UX6+uhac4LWu2iO4ZKqZdb0j3GOgoqmrfyAbgH1PkrKEnojGe0UoayNMsxpb\/HNQftP8T1894asuGPZrdFRMP2pTvHce\/kqWzWqqrmXCpmuklLFFITOYwRtkZJPEDmVpGFou7OSpXxVIOMXlfw4eJaXapp6vWdLDUTRx01vb0jzI7ZG1xx2\/Y3fNWdTq+y0+QKozOHKJhPnw81RaT05R3GjfXV8TpA6QiNpeQCBxJxx3+i1lNaLdSY6ChgYRwcGDPjxSeFZchQVeSc1ZYs+bKQ6uqKlubbZaqoB4OcMAeAPZzXwO1jXn4aagaeZwTj\/d9y1CKuJLRHRuJy7835ZGY\/Rq9VBzVahmGeLYsgZ8R6L0NDUD3F1RV1UxPW4Dfz5LSoo3kh\/FpcVfq2ymh0nZIt\/sQeet7ifLOF2Gm7MDn3dDu7FZooxS5mio0lpFegREVTUIiIAi8SzRQMMk0jI2Di57gAqOt1laaU7ET31T+Qibuz8z9ysot6Gc6sKfedi\/RZd101Pcsew2ttFGftz\/F89+PQoNK3CuwbveZpAfiih3N7s7urkrYLasy37l+OLfsvct6y\/wBqoc9PXRBw+y07TvAKpfrSOZ\/R2221NW\/hwwPLKn0elbNRkFtIJXj7Up2\/I7vJWzGMjYGRtDGtGA1owAl4LhcYa8tWl0z+TM+06vrz9TSwUDDwdJgnvzn0Xz9E66twbtep5Rkkxx5x3Z3eS1KJjfDIfxovvtvq\/opqTSdmpMH2QTOB+KYl2e7h5K2ihigYI4Y2RsHBrGgBe0VHJvU2hThDuqxyqphTUk05xiJjnnPYMrA08zqPQ8obkzXCpLG4GSRuz6Ed61mqKkU2nat2cF7OjHbtHHplZu0we8braaNrQYLdAJpNxGHu+l6lvgVtTyjc4NqbdVQWtrer+rmwtdELfbKekGPqmAOxzPM+OVLRFg3c9GKUUkgiIhIREQBERAEREAREQFNc9PR3evZNV1Epp42jZga7ALt+T4YU6jtdDbxikpY4jv8ApBv0vHipaK2J2sZqlBScrZhERVNAiIgCIiAIiIDJa+rNiip6Nrt8r9tw7B+Z8lM0Zb30lpNVNnpax3SHPHZ5Z+e896pL1FJf9ZtoYwTHBssdngGje4+ePBbpjGxsaxgw1oAA6gtpPDBRPPox3m0SqvRZI9IiLE9AIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDjFR00E0k0NPFHJL8b2MALue8812REISS0CIiEhERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "DIEGO NICOLAS MEJIAS LARRAIN",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "modulosnotaria@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:23",
    "ubicacionGPS": "LatLng(lat: -23.1006981, lng: -70.4506015)",
    "horaLlegada": "15:51",
    "horaDespacho": "11:57",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


11/06/2026 16:22:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:15333221

[11/06/2026 16:22:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('15333221', 'TO2906', 1, 21773342, 75473, NOW(), 
				'11:57', '15:51', '16:23', 4, 'Mantenimiento, cambio de Repuesto, traspaso piezas adicionales
pruebas varias', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781209375.png', '', null, 'COMPLETADO','LatLng(lat: -23.1006981, lng: -70.4506015)' )
				
[11/06/2026 16:22:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200699

11/06/2026 16:22:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200699'                    
				WHERE idllamado = 13002			
				TO ENVIO: micorreo@miempresa.cl, modulosnotaria@gmail.com


11/06/2026 16:22:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13002			
				
11/06/2026 16:22:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


11/06/2026 16:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:22:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:22:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:22:58 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:22:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:22:58 - INPUT: {"rutTecnico":"21773342"}
[11/06/2026 16:22:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

[11/06/2026 16:22:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:22:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:22:58 - INPUT: {"rutTecnico":"21773342"}
11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

[11/06/2026 16:22:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

11/06/2026 16:22:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13002
            GROUP BY l.idllamado;
            

11/06/2026 16:22:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                

11/06/2026 16:22:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13002
                
[12/06/2026 08:25:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:25:51 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:25:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:25:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:25:53 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:25:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:25:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:25:55 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:25:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:25:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 08:26:02 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:26:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:26:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:26:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 08:26:03 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:26:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:26:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:26:09 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:26:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:26:14 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:26:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:26:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:26:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:26:14 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:05] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:05 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:12 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:13] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:13 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:13] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:13 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:16 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:17 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:53:18 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:22 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:22] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:22 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:22 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:23 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:23 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:24 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:27 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:53:27 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:27] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:27 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:27] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:28 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:28 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:32 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:32 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:32 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:53:33 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 08:53:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:39 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:40 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:42 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 08:53:42] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:42 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:45 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:45 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:45 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:53:46 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:47] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:47 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:47] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:47 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:47 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 08:53:47] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 08:53:47 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:47] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:47 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 08:53:52 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 08:53:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 08:53:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 08:53:53 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 08:53:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 08:53:53 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 08:53:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/06/2026 09:05:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:05:15 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:05:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:05:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:05:15 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:05:20 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:05:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:05:28 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:05:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:05:30 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:05:58 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:05:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:05:59 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:05:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:05:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:06:00 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:06:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:06:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:06:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:01 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:06:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:06:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:06:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:02 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:06:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:06:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12942
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => Sin otrafalla definida
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 12:41
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:09:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                
=========================================
FECHA: 12/06/2026 09:09:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-1FuFzAl10Z-PKgcHTdzVLgxajzB1fIKfVfHoytt10B7eY6EkYFY
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2415",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "533167",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realizo cambio de tapa lateral de la bandeja 2\nMaquina quedo funcionando correctamente",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12942",
    "observacion": "Se realizo cambio de tapa lateral de la bandeja 2\nMaquina quedo funcionando correctamente",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABoAJkDASIAAhEBAxEB\/8QAGwABAAMAAwEAAAAAAAAAAAAAAAQFBgEDBwL\/xAA5EAABAwMBBAgFAgUFAQAAAAABAAIDBAURBhIhMUETIlFhcYGR0RQyobHBB\/AkQnKS4RUlM0Ni0v\/EABkBAAMBAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAwMCAggHAAAAAAAAAAABAgMRIQQSMUFRImETMnGBwdHw8RQjQlKRoeH\/2gAMAwEAAhEDEQA\/APZkREAERcFwbjJAycDKAOUXDXBzQ5pBBGQRzXKACIiACIoN5gqqi1zMopnRVGNpjmnBJG\/Ge9dWWLJ2Tdico9fXQW6jkqqh4axgz4nkB3qDpy7i72xr3nFRF1Jm9\/b5+6qqprtSaoNGX\/wVu3yDG57sjLTv7seRTKObPoQnX\/LUoZb4+vI+o6nUN+L5qRzbdSDcwvGS\/v4Z\/HDvU7T11nqzU0Nc5hq6R+y4tHzDh67vsrprQ1oa0AADAA5LNW52dfXQM2SzoG5wBxwz\/Ka6kngRxlSlF7m23ZmmREUjYEREAEREAdbaiB8zoWzRulaMuYHAuHiF2LJ3cvseq6e7Afw9WOimwOHD2B8itU5zWML3HDWjJPYEzjazI06m5yi8NP7Ffe71BZaQSSAvlkJbFGOLj7cFUwWCuvThV3+d7MHaipoiAGZx4+\/eviyQO1Bd5r3VjMUD9ilZy3b87+zI8\/BatM3swuSMY\/iPHL1ei+L+BnNIzysFda5pC\/4GXYZncdnJH4+q0azFOBSfqDUMAw2rp9oDvwP\/AJK065Pm\/cfTPwbX0bQRESGkIiIAyVfJHprVDKwM2aOuYRKGjg7mfsfMqRoaL\/ap6pwBlqJyXOxxAA\/JPqrHUVrF2tEsDRmVnXi\/qHLz4eagaHqY5bCIWnrwyODh4nIP77FZu9M8+MHDUpdMte3FzROcGtLnEAAZJPJZnSgdWV9zu5bsx1EuzH3gfsKRrC4fCWZ1Owkz1Z6NjW8cfzfTd5qztNC222uClaACxg29wGXczu70qxC\/ctLx10v25974JiIimagiIgAiIgCp1Nb23Gxzx468Q6WP+poP3GR5qiuN4fUaHpgAXTVBbA4ZyTjid3bgeq2TgHNLTvBGCvNbayR12orPMDswVrnObjeeHH+0+qvTys9DztXeMsfqVv7+56FbqNlvt8FJGABEwDdzPM+ZyVJRFDk9BJJWRmLoOh11a5h\/2RFhHb83v9Fp1masCo\/UCjHEQU5JBA49b3Ct66+Wy3ZFVWRteOLAdp3oN6pJN2S7GWlKMXNt2V\/gieizTtc28vxFS1Ujc42wwY+6n2zUtsurhHDMY5TwjlAa4+HI+S44SWbFI6ilJ2Ui2RESFwvPrbUHTmr5aeQbEEjzGewNJy132+q9BWP15bWvhguLW72Ho5CB\/KeB9fuq0mr7X1MWsi9qqR5jk+rpUU8GsYp7qHMgiaBTENJaXbjtE55E8h2di1UFRDUxNlgkbIxwyHNOVmtOXGK50P8Ao91Y108TRstk39IzGQfED6L7l0f8NM6ezXCaie7HUyS3HZ2+uV2SXDwLSlNJzgrp580aZFlvidV2kDp6eO5wg42o\/nx5DP0KkU2tbXI7YqRNSPBwRIzIHp7JNj6ZLLU072l4X54\/w0KKLS3KhrQDTVcMueTXjPpxUpJaxoTTV0EREHQshXxRUf6h0U5G6oaCf6iHMH2C16x+uA6lq7dcWNy6N+O7IIcPyqU\/Wt3MmsxTUuzTNgi64ZmVEEc8ZyyRoc09oIyF2KZr5MtdrFd6u+SVVJNDC2WMM6XaIcxvAjxKnW\/Slsohtyx\/FzE5dJNv39w4K7RPvlaxnWmpqTk1d+ZwGhow0ADsCqr1p+murOlA6KsYMxztOCCOGcfsK2RKm07orOEZx2yWCl0xdJrjQPjqsmopX9HI4txtd\/j7K6Wa04C6\/wB8kwAOmwMA7+s4cfL6rSppq0ienk3TV\/qzC6KykirqSWlmaHMkbg5Gcdh8jvXeiQs0mrM88FDUiaS3BxbdbedqmkacGWPjs+Q3juyOS2Viujbxa46oDZf8sjexw4+\/moepLNJWxMrqHqV9N1mObuLh2e3+VR6Lu4juE9BIzYbUO22AAnZcOIPl9lofjhc8ynfT11B8P6Xv6fwbldFTRUtYzZqaaKYf+2A9vufVd6LOem0nhlBVaLs1SctikpyeJif+DkKK\/SdZRtMlru87ZGjqslPVPp4nktSidVJdyD0tF5229mDN2zVWallvu1NJSVe4bRHVce3uz5jvWkUK52qku9O2CrYS1rtoFpwQfFSeib2v\/vPuuScXwNTjUjdSd+zOxZ7W1MZ9PukAyYJGv8uH5WhUO703xdoq4MZL4nBo78bvqiLtJM7Whvpyj5FXoutNVYWRPztU7jHk8xxH3x5LQLD\/AKf1IbU1dKTvexr2+RIP3C3CaqrTZLRz30IsIi4c4NaXOIAAySeSmajlVl\/uzbPbXTDfNJ1IWgZy4jcfAKur9Uumn+CsUBrag7jIB1Ge\/juC+rZpp\/xAr7zUGsquIY7exn79FRRtmRllWdS8KWfPovmStM2t9stYE2108zukk2uOT27zvVwiJG7u7LwgoRUV0CiR09W26Szuq9qlfGA2DZ+Vw559fXuUtFy4zVwsrddKSyXqCvtj2Q5kD5cnGyQc7Q7c9nutUiaMnHgnVpQqq0giIlKhERABERABERAGBtNIbTrz4XbDWZeBh2AWlpLR9t3at8olRa6KqrIayeDang\/437RGN+eR3+ag3zUMNpAhiYaiseOpC3fjPAnz5cSqSbm1YyUoLTRlueL3RLut3pLRTGaqfvPyRt3uee4LPCnvGrHB9SXUFtzlsY+Z4\/Pid3cpdp05JLUC6Xw9PWOORG7BbH2buH4C0iLqPHIbJ18zxHt8\/kRaC3UlspxBSQiNvM83HtJ5qUiKbdzUkoqyCIiDoREQAREQAREQAREQAREQAREQBWX2W5R0AbaotuoleGbW7qA8966bLpyC2E1E7via2Te+Vwzg89n3RE25pWRH0UZVN7zbjyLlERKWCIiACIiACIiACIiACIiACIiACIiAP\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "226023502",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:09",
    "ubicacionGPS": "LatLng(lat: -23.6618261, lng: -70.399969)",
    "horaLlegada": "09:05",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 09:09:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/06/2026 09:09:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO2415', 2, 19969062, 533167, NOW(), 
				'08:00', '09:05', '09:09', 4, 'Se realizo cambio de tapa lateral de la bandeja 2
Maquina quedo funcionando correctamente', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781269742.png', 'Se realizo cambio de tapa lateral de la bandeja 2
Maquina quedo funcionando correctamente', null, 'COMPLETADO','LatLng(lat: -23.6618261, lng: -70.399969)' )
				
[12/06/2026 09:09:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200700

12/06/2026 09:09:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200700'                    
				WHERE idllamado = 12942			
				TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl


12/06/2026 09:09:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12942			
				
12/06/2026 09:09:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:05 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:09:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12942
            GROUP BY l.idllamado;
            

12/06/2026 09:09:06 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12942
                

12/06/2026 09:09:08 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:09:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:09:08 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 09:09:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:09:08 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:16 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:16 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:40 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:40 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:41 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:42 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:42 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:47 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:47 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:09:47 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

12/06/2026 09:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

12/06/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 09:09:48 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 09:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 09:09:48 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:52 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:52 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:09:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:09:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 09:09:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 09:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 09:09:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                
[12/06/2026 09:29:24] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:29:24 - INPUT: {"rutTecnico":"21773342"}[12/06/2026 09:29:24] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:29:24 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)

12/06/2026 09:29:29 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:29:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:29:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:29:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:29:33 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:29:33 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:29:33] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:29:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:29:39 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:29:39] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:29:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:29:43 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:29:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:29:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:29:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:29:54 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:29:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:29:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:30:05 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:30:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:30:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:30:13 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:30:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:30:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:30:29 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:30:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

[12/06/2026 09:30:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:30:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:31:55 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:31:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:32:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:32:06 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:32:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:32:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:32:10 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:32:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:32:16 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:32:16] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:32:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:36 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:39:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:39:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12893
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 12:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3096
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:39:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:40:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:40:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/06/2026 09:41:16
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-fb3xIN_beIClVZ6oZIDKG0fHu3CubXnS7llc2TK9+th6rOR68zl
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3096",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Report Repetido",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12893",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAMUDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xAA9EAABAwMCAgYIAwgBBQAAAAABAAIDBAURBiESMRMiQVFhcRQjMoGRobHBNeHwBxUWQkN0stEkM2KCkqL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIDBQcFAQEAAAAAAAAAAQIDERIhMQQiQWHREzIzUXGhwSOBkeHwQrH\/2gAMAwEAAhEDEQA\/AP7MiIgCIvOaeGmiMs8rIo283POAEDdj0RT1TrW1Qv6OETVDuzgZgfPf5Lx\/jaBmDUW2riZnBcWjb6KfZy8jO9qop2xFOizLfqG13JwZT1Q6QnAY8cJJ8M8\/ctNRaa1LozjNXi7hERcJBERAEREAREQBERAEREARF8JAGScAID6p7UGoH00otlsb01wl6vV36PP3+nMrzumo5qioNtsUZqKk7Ombu2P7e\/kuyw6ejtDHTSv6eslyZJjv7hn9FWJKOcjJOpKq8FLTi+nM77dFVQ2+GOtmE1Q1vXeBzP62yi6kVbNSVlYIizb7eIrLbzUPbxyOPDGzPN3+l1Jt2RyclCLlLRHlfNQQ2hohYOmrJB6uEZPlnHj8Vm0emJrlJ6dqGV8szuUDXYawd230C99PWGSGV11ufrK+Y8Q4jnowfv8ATkqJTclHKJljTdbfqrLguvM56SgpKFnBS08cIxjqtwT5ntXu5oc0tcAQRgg9q+oqzWkkrIxrrpi33KJxZCymqObZYm438QOa5tO3WoZUPslzyKunHUe456Rvn8\/LyVEpnWEAgZS3eHq1FNK1oIOMjcgH3\/UqyLxbrMtaCpfVhw15opkX4ikEsTJBye0OHvX7VZrCIiAIiIAiIgCIiAIi5LjcqW1UpqauThYDgAblx7gESuclJRV2e9RURUsD555BHGwZc53IKVlqblq6V0FI00tqDsPmPtS+H5fHuXyKjrtX1DaqtLqa2MPqoQcGQd\/5\/DvVXDDHTwshhYGRsGGtaNgFZlD1Mm9tHKHu\/wBHPbbXSWmm6Ckj4W5y5xOS495K7ERQbua4xUVZaBERcOhSdKz+ItWTVUnXorf1I2kbF3kfHJ9wWzqGvNtslRUNcWyFvBGRzDjsD7ufuXnpeg9AsNOxww+UdK\/Ixu78sKyOUWzLU+pVjT4LN\/BroiKs1BERAFN66k4LA1uPbna35E\/ZUimNZ4eLZBzMlUNu\/s+6nT7yM21eDIo4Y+igjjOOo0N28AvREUDSsgiIgCIiALHsd2qbpVXBsscbYqebo4i0EOIyfaye7HzWuSAMk4AUzoQF1qqZ3e1JUnO3PYf7U0t1sonJqrCK5lOiLgu92p7PRGpnOSdmMHN57vzUUr5ItlJRWKWgu13pbPSGepdknZkY9p58FiW6zVF8qxdr43qEZgpd8AdmR3eHb29y+2WzT3KoF6vQ45XbwwHOGjsJB+QVSptqGS1M0Yuu8U1u8F8vofAABgDAC+oirNYREQBERATGsHOnntdvacipqOs3OxAIG\/x+Sp1G6mr4qLVlBNNkx08Jkw3mT1sD4gfFbtgqrjXUJqq9kcYmdxwtbzDDyyrZJ4EYqVROvNceiNVERVG0IiIApjUJ9J1RZaMDJY\/pXDvGQeX\/AIFU6l4Aa39oM8ntMo4OEHuJAGP\/AKcrIatmbac4xj5tdfgqERFWaQiIgCIiA8K53BQVD844YnHPdsVi6JZw6dYcY45XHz7PstG+y9DYa5+\/\/QcBjxGPuubSrBBpikLiGjhc8k7bFxP0Vi7hmlntC5J\/9RpVlZBQUklVUv4I4xkn7BTdnoptQXF17uUZ6BpxSwO5Ad\/65lfiV0mrry+mY8ttVI7LnN\/qu8\/jjw81WNa1jAxjQ1rRgADAATuK3Egvrzv\/AJXu+iP0iIqzYEREAREQBERARdyoorrr5lNIQY42NdI3HMAZx78j3FWbWhrQ1oAAGAB2KKo5wz9o83Fn1jnMHh1fyVsranBcjFslnjlxxMIiKo2hERAFMaR\/5VZdrkdxPUcLD3AZOM+RHwWze6v0Gy1dR2tjIb5nYfMhcmk6X0XTtNnPFKDIcjv5fLCmsoNmae9XivJN\/BsoiKBpCIiAIiIDF1e\/g0zV74LuAD\/3Cya6sl\/cltsNvbmrq6dgeAfZaW5OfPf3ZWhrZ\/DpyQbdaRg+efsvLSFmdS0xuNWCamoHVDxvG389vdhXRsoXZ51VSntDhHild8rs2rZb4bXQR0cGS1g3cebieZK61y3KStioJH2+Fk1SMcDHnAO4z2jsz2rCGq6u3ubHe7VJT8RwJYt2nv8A1k7fOCi5ZmqVWnRtF5L2KdFz0VfSXCHpqSdkzO3hO48xzHvXQoaFyaaugiIh0IiIAiIgP5td5fQtbyTYPq6hj8Y57Ar+kqG17bnMqYbi3dkg6J\/g4bj4jPwVpTSielimByJGB2fMZV1TOMWefsqcKtSD87\/k9URFSegEREBMazkkqGUNqh3fVzbgDJAG33+SpY42RRtjjbwsYA1o7gFLUjxedcS1LBx09vj4GuPLi3H1LseSq1ZPJJGWhvTnU83b8fsIiKs1BERAEREBMa9az9ywvc3LxOA092Qc\/RUkTOjiYzbqtA2U3r78Dh\/uW\/4uVOrH3EZafjz9F8hflzWvaWvaHNPMEZBX6RVmoma7SjqecV1hm9EqW\/yE9Qjw2Pz2XvZtRuqak225wmlrm7YdsJPLx\/QW+su92OC8U4z6qpj3imHNp7vJWKV8pGWVF03ipfjg+jNRFPWS9zCoNou46Ouj2a88pR\/v6qhUJRadmXU6kakboIiLhYEREBj6rh6bTdWOHiLWh48MEHPwyuTR95FbQignPDU0wAAdzezsPu5fDvVGp+\/WSd9S272t3BXQ4JaP6oHZ5428RsrItNYWZKsJxqdtHPg1yKBFjWPUdNeAYXNMFWwdeF3zI7\/qtlQaadmaITjUjii8gsrUd2babU+UH1snUiH\/AHEc+fYtGeeKmhfNPI2ONgy5zjgBS1sik1Pejd6pgFHTEsp43N9vxP181KC4vQqrza3Id5\/1zX05aza7UxsmTPMeklLueT2HyHzytZEUW7u5bCChFRXAIiLhMIiIAiIgJjX34HD\/AHLf8XKnUxr78Dh\/uW\/4uVOpvuL7man48\/RfIREUDSEREBl3yxwXqm4XerqGbxSjm09x8Fl2m\/VdDWC034FkucRVDuTx2ZPb5\/HdVC4braaW70hp6lm\/8jwOsw94U4yVrPQzVKTxdpTyfs\/XqdyKToL1V2Crbar3l0XKGq7MePePmFVtcHNDmkEEZBHauSi4llKrGostVqvI+oiKJaEREBjXnTVHd3CYONNUt9maMcz4jtXD6Jq2jJjgrIKmIY4DKQXAeJIyVTopqbSsZ5bPByxK6fLIl26buV0la+\/XDpYmOy2GHYHz2GOzv7d1SQwx08LIYWBkbBhrWjYBeiLjk2Tp0Y081r58QiIoloREQBERAEREBMa+\/A4f7lv+LlTqa12x8lkhDGlx9JbsBn+VwVKpvuL7man48\/RfIREUDSEREAREQHNXUFNcqZ1PVRCRjviD3g9imYa2s0jUtoq8PqLa84hnA3Z4fl8FXryqKeGrgdBURtkjeMFrgpxlbJ6FFWlieKDtJf1mfYZo6iFk0Lw+N4y1zTsQi4LNZhZmzxx1MkkMj+KON39Pw8fyRRdr5FkHJxTkrM00RFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JOSUE DANIEL LEAÑO MENA",
    "correoContacto": "jleano@liceob8.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "APP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAJA DE MANTENIMIENTO, MAQUINA REQUIERE REEMPLAZO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:41",
    "ubicacionGPS": "LatLng(lat: -23.6618341, lng: -70.3999475)",
    "horaLlegada": "09:31",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 09:41:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[12/06/2026 09:41:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3096', 1, 21773342, 0, NOW(), 
				'08:00', '09:31', '09:41', 3, 'Report Repetido', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781271676.png', '', null, 'COMPLETADO','LatLng(lat: -23.6618341, lng: -70.3999475)' )
				
[12/06/2026 09:41:16] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200701

12/06/2026 09:41:16 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200701'                    
				WHERE idllamado = 12893			
				
12/06/2026 09:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                
TO ENVIO: micorreo@miempresa.cl, jleano@liceob8.cl


12/06/2026 09:41:16 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12893			
				
12/06/2026 09:41:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 09:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:41:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:18 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:41:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:18 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:41:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

[12/06/2026 09:41:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12893
            GROUP BY l.idllamado;
            

12/06/2026 09:41:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12893
                

12/06/2026 09:41:30 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:41:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[12/06/2026 09:41:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:30 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:41:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:30 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:30 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:36 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:41:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:36 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

[12/06/2026 09:41:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12839
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 01/06/2026
            [HoraLlamado] => 17:15
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76257428
            [ClienteRazonSocial] => SHIMIN INGENIERIA SPA
            [ciudad] => SANTIAGO
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                
[12/06/2026 09:41:46] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:41:46 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:41:46] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:41:46 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:41:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:41:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:46 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:41:46 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:41:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:41:49 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:41:49] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 09:41:49] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:41:49 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:41:50 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:41:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 09:41:52] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:41:52 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:41:52] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:41:52 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:41:52 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:41:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:41:57 - INPUT: {"rutTecnico":"24456550"}[12/06/2026 09:41:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 09:41:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:41:57 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 09:41:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

[12/06/2026 09:41:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:41:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:42:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:03 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 09:42:03 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 09:42:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:04 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:13 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:13 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

[12/06/2026 09:42:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:14 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:18 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 09:42:19 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:19 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 09:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/06/2026 09:42:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:19 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:21 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:21 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:21 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

[12/06/2026 09:42:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 09:42:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:42:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:42:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                
[12/06/2026 09:42:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:42:54 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:42:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:42:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:42:54 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:42:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:42:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:42:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:42:57 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:42:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 09:42:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 09:42:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:42:58 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:43:04 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 09:43:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 09:43:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 09:43:04 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 09:43:04 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 09:43:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:43:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:49:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:49 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                
=========================================
FECHA: 12/06/2026 09:49:49
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TkuOamPh2eY6p_-KZdgV68YUK2i1XaFc7lkQh6Ivc5zz5T0Nx5G
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76257428",
    "serieinterna": "EP2282",
    "correlativo": "5",
    "ddServicio": "Faena",
    "ubicacion": "DSPRINT",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "TALLER",
    "rutTecnico": "21773342",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "No instalado",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12839",
    "observacion": "Maquina con problemas",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBANYDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xAA\/EAABAwMCAgYHBQUJAQAAAAABAAIDBAURBiESMRMUQVFxkSIyYYGhscEVI1LC0RYkgpLSBzVCRFR0orLh8P\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgMGBAYDAQAAAAAAAAABAgMREiExEzJBUWFxIpGhsQQUI4HR4TNT8MH\/2gAMAwEAAhEDEQA\/AP7MiIgC856iKlhdNPII42jJcV8VlZBQUklVUv4I4xkn6BS8NFW6uqG1lcXU9sY7MMA5ye3\/AN8u9XjG+b0MKtXC8MVeT\/12dD9RXO6TuisNDxwgEGomGBnvHZ558F+C1arnPFNeYoj3Rj9AFSxRRwRNihY2ONgw1rRgAL7U47aIp8u5Zzk32yRMfZeq4BmG9QyntEjf1aUF\/utpLW3yhzEXAdYgGWgHvx3d22fnQVdZTUMJmqp2QsHa44z4d6m6vUU96bJQ2W3mpDhwvlmaOAe47efkrRvLVGVRRpbs3flr6FLTVUFZTtnppWyxP5OavZZ1jtrrVbI6V8pkcDxO9IkNJ7G57ForJ2vkdkHJxTlqERFBcIiIAiIgCIsjUF8ZZ6QcAElVKeGKLO59qlJt2RSc4wi5S0O6tuFJboemq52xM7zuT4AblYcmtKeR7mUFBVVnCcZa3AI7xzPdzA5pbtMdZk+0L6TUVMm4icfRYOwHHP5KjjjZEwMjY1jRyDRgBX8K6mC21TPdXmyaOqbpnbTFZj+L+hDq6rhHHV6fq4Ixzec7ebQqdFGKPInZVf7PRGVbdSWu6OEcFRwSnlFKOF3gOw+4rVWVctOWy5MeZKZkcrhtLGOFwPftz964dOVNXTXGqsdbP1h9MOJjznPD6OP+w7dvajSavERqVISUanHiijREVDpCIiAxrvqeistW2mqYp3vcwPBja0jBJHaR3Lh\/b61f6es\/kb\/Uqdcl1rOoWupqu2KMlvj2fFXTjpY5qkaqvJTsu37Ie96kp71WU8RZUNoIzxPjAHHIfP3c+0raZrAdG1lJZat7GgBoAwAB4Ars0hQ9VsrZ3EmSrcZXEk7dw39m\/vW6rylHS2hhRpVmto52cuhMftDfajHVdPSMzuDM44x5BfIo9W3Ik1NZFbo8+pHgu92M\/NVKKuO2iN9g5b82\/T2J2n0bRiXprhUT18xG7pHEA\/X4rehghpohFBEyKNvJrBgBeiKrk3qawpQp7qCIiqaBERAEREAREQHy97Y2Oe84a0Ek9wUtYIJL3eZ77V54IXmOmZkEAb+eM8+8laeqqsUmnak59KUdE3fnxbH4ZXvYKQUVipIcYPRhzvE7n4laLKN+ZyzW0rKL0Wf34GiiIszqCIiAKZso65rC63CPeJrRCHA7EjhH5V7anvL6WJtuocyV1T6Ia3csae3x7vNaFktjbRa4qUYL\/WkcB6zjz+g9y0XhjfmcsntKqitI5vvwRoIiLM6giIgCwdZvc3TczWjPG9gPhnP0W8uC9W\/7UtM9ICA54BaT2EHIVou0kzKtFypSitWj2tzGxW2ljb6rIWNHgAF0rA0veGVVG23z\/dVlIOjdG7YuDds\/Ddb6STTsxSnGcE4hERVNQiIgCIiAIiIAiIgCIiAmNYEzT2mgJ9GpqfS7jggb\/wAyp1Map\/vzT\/8AufzMVOry3Uc1L+Wp9vYIiKh0hTVz1PJJUG3WKI1dUdjI3djPofHkFzzVNy1VO6kpYn0lta8tlmcMOeBzH\/nmqG22qjtNP0NJFwg7ucd3OPtK0so66nJjnWyp5R5\/j8nDYbALbxVdXJ1ivl3klJzw+wE\/NbSIqNtu7OiEI044YhERQXCIiAIiIDIuunaa4ydYie6lqwctni2OdtzgjPJTV0uN+ssracXuKokcdo2xhzx45b9VtXm+1D6k2izs6Wsd6L5Adou\/58+xdVm05SWr75w6erdu+Zw7e3h7lsnhXiPOqQVWbVLJ8Xn\/AJs8tO\/b7+OW8PHRub92wta1wPeQB81uoiybu7ndThgjhu33CIiguEREAREQBERAEREBMapB+27Acbda\/MxUVTGZqWWIc3sLfMKe1sDFSUVa31qepB+GfyhUrSHNDhuCMhaPdRy019Won09if0VMZLI6J2eKGZzdxz7c\/EqhUxpv921DeqJ3My9I3wyf6gqdRU3i3wr+kk+GXkERFQ6AiIgCIiAIiIAsfUt2FrtjhG49anBZA0c89p92fPC2FKwYvms5ZS5zqa2gBrTyLwefnk\/whXgs7vgc9eTUVGOryNPT1mFoofvQHVcvpTSZzk9gz7Froiq227s1hBQiox0QREUFwiIgCIiAIiIAiIgCIiAyNU0pq9PVTG+sxokG34Tk\/DK9dPVQq7BRyg5IiDD4t2PyWg9jZI3RvaHNcCHA9oUxpKTqNZcLLK4cUMpfGMYyORP\/AF81os4Ncjll4K8Zc1b\/AKfTv3X+0RuP83Tb+4H+hU6mL\/8AcarstR+Nxj+IH5lTpPRMmhlKcevugiIszpCIiAIiIAiIgPxxDWlx2AGSprQ4dJbqqqf601S4nyH1JW5c5OitVXJjPBA93k0rM0ZHwaagd+Nz3f8AIj6K63Gc0868VyTfsbqIiodIREQBERAEREAREQBERAEREAUtqVotV4ob7G04D+jnwOYx+mfIKpXHd6EXK11FIcZkYeEnsdzHxwrQdmY14OcGlrqu6MPWhDaO31zNxFUAh3ZgjP0CpwQRkHIKhJax1w0TPTT56zbpGBzTzxnA+BI9ysrXL09qpJScl8DHE+3hCvNWikYUKinUbXFJ+6OpERZHaEREAREQBERAcl2YZLPWsHN1PIP+JWdo54dpmmA\/wF4P8xP1W05oewtPIjCmtFPMNNW22QYlpZzxe0Hb5tPwV1nBnNPKvF8017Mp0RFQ6QiIgCIiAIvwkAZJwAsC5arghl6pbYjX1Z2AjGWjxI5+7zUqLehnUqQpq8mbk08NNEZZ5WRRt5uecALnt11o7qyR9HL0jY38JOCN\/esKHTlfeJRVagqncPNlLE7DW+Pd7vNUlPTQUkIhpoWRRjk1gwFZqKXUpTnUm7tWj6\/o9URFQ3CIiAIiICF1ZALXdJZ2NPQ3GBzXgfjGDnzDT5qk0vN02nKN2QS1hbt7CR9F9ahtQu9pkgAHSt9OInscP15LN0JO59mlgcd4ZjgdwIzjzytm8VPsefCDp\/FdJJ2KZERYnoBERAEREBxx0czLpNWOrZHwyMDW059VhHaP\/u1F2IpvchRS0ClLw2SwagjvkbS6lqMR1LWjl7fhnxHtVWvOaGOohfDMwPjeMOa4bEKYyszOtT2kcsms13EE8VTCyaCRskbxlrmnIK9FLS2K5WOV1Rp+bpI3kF9JLgg+8n9D7SvoaquFP6NbYaljgPWZkg7+H1VsF90yXxGHKqrPzXmU6KY\/bMnZtmrCewY5\/BBetRXL0bfZ+qt5GWoPL2jOPkVGzlxJ+apPdu+yZTEgDJOAFg3HVtFSv6Cja6uqTsGQ7jPj+mVzjStZcDx3u7zT9vRQ7MB+XwC3aG20Vtj6Ojp2Qg8yNyfEncqbRXUXrVNFhXXN+ROC1X7UJ47rUdSpTv1ePmR7R+vkqC22iitMPR0kIacYc87ud4ldqKHNvItToQg8Wr5sIiKhuEREB41cksNJLLBD00rGktjzjiPclJJNLSRSVEPQyuaC+POeE9y9kUkWzvcIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/Z",
    "razonSocial": "SHIMIN INGENIERIA SPA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "MARIO",
    "correoContacto": "mario.zanetta@shimin.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "09:50",
    "ubicacionGPS": "LatLng(lat: -23.6618322, lng: -70.399961)",
    "horaLlegada": "09:29",
    "horaDespacho": "09:41",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 09:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76257428

[12/06/2026 09:49:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76257428', 'EP2282', 5, 21773342, 0, NOW(), 
				'09:41', '09:29', '09:50', 1, 'No instalado', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1781272189.png', 'Maquina con problemas', null, 'COMPLETADO','LatLng(lat: -23.6618322, lng: -70.399961)' )
				
[12/06/2026 09:49:49] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200702

12/06/2026 09:49:49 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76257428'
				   AND serieintmaquina = 'EP2282'
		
12/06/2026 09:49:49 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2282'
				   AND estado = 1
				
12/06/2026 09:49:49 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76257428', 'EP2282', 1, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
12/06/2026 09:49:49 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200702'                    
				WHERE idllamado = 12839			
				
12/06/2026 09:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                
TO ENVIO: micorreo@miempresa.cl, mario.zanetta@shimin.cl


12/06/2026 09:49:49 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12839			
				
12/06/2026 09:49:49 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:53 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:49:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:49:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:49:53 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:49:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:49:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 09:49:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 12839
LIMIT 1;
        

12/06/2026 09:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:54 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:49:54] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:49:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12839
                

12/06/2026 09:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:17 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:17 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:17 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:50:17] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:28 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:28 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

[12/06/2026 09:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:28 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:50:28] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:50:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:50:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:50:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:00 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:00 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:00 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

[12/06/2026 09:52:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:14 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:14 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:15 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:21 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:21 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:21 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12792
            GROUP BY l.idllamado;
            

12/06/2026 09:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12792
                

12/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:43 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:43 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

[12/06/2026 09:52:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:43 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:47 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:47 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:47 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:47] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:52:48 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:48 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:52:48 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:52:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 09:52:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:01 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[12/06/2026 09:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:01 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/06/2026 09:53:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:18 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:18 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:18 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:18] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:23 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:23 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[12/06/2026 09:53:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:23 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

[12/06/2026 09:53:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

12/06/2026 09:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:36 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:36 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:36 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:52 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:52 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 09:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

[12/06/2026 09:53:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:52 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 09:53:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 09:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 09:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

12/06/2026 09:53:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 09:53:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

12/06/2026 12:01:23 - INPUT: {"rutTecnico":"9291721"}[12/06/2026 12:01:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 12:01:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [RutCliente] => 8732136
            [ModeloMaquina] => L5590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78179996
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)
[12/06/2026 12:01:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 12:01:24 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:01:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:01:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:01:31 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:01:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:01:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:42:00 - INPUT: {"rutTecnico":"21773342"}[12/06/2026 12:42:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 12:42:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)
[12/06/2026 12:42:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 12:42:03 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 12:42:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:42:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13007
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJA SALE ARRUGADA Y SE ATASCA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:42:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:42:06 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 12:42:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:42:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13007
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJA SALE ARRUGADA Y SE ATASCA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:19 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 12:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

[12/06/2026 12:52:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:52:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13007
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJA SALE ARRUGADA Y SE ATASCA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 12:52:57 - INPUT: {"rutTecnico":"9291721"}[12/06/2026 12:52:57] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 12:52:57 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [RutCliente] => 8732136
            [ModeloMaquina] => L5590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULTORES MARTINEZ & ESPINOZA SOCIEDAD E PROFESIONALES LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78179996
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)
[12/06/2026 12:52:57] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 12:52:59 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:52:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:52:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:53:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:53:04 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:53:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:53:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:53:13 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:53:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:53:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:54:18 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:54:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:54:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:54:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:20 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:54:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:54:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12997
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:09
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76423913
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2532
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:54:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                
=========================================
FECHA: 12/06/2026 12:55:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ga0R0WGQbiKq-oJxhvXstDLB+X7miRgtip_wkydKpOR1M_FXlW0
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76423913",
    "serieinterna": "EP2532",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12997",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADGAQIDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABEEAABAwMCAgcFBAYHCQAAAAABAAIDBAURBiESMRNBUWFxgZEUIqGxwSMkMtEHFTaSwtIlQlJyc4LwMzRDYmOisuHx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QALxEAAgIBAgQDCAEFAAAAAAAAAAECEQMhMQQSQVFhobETIjJxgZHB0WIzQuHw8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREARFj6aLpug6RvS8IdwZ3xvvjyKA5eoLvPaBRyRMjdHLMGScYJIHdgjvXYU9raISade4845WuHy+q7VDMaigp5jzkia7nnmAVdr3UzCMn7aUX2TM6IiobhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAU1c5HUutrZK5x6OaMx4J2B3G3mQqVTGtmmGmoa9n46aoGO7O\/zaFfH8VHNxWmPm7NPzOjqiIzabrWgZwwO9CD9Fk07L02n6F3ZCG+m30W1VQsr7fNBxe5PEWhw7COa4ujKgi2y26UBs9FK5jm9xJPzyPJTvAh6cQn3VfbUokWtXV9PbqY1FS4tYDjYZ3Xukq6eup21FNKJInZw4dxwqU6s6OaN8t6mZERQWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi4RuNW3WTbeZvuzoOMR8I547cZ6lKVlJzUKvq6O6iIoLhERAFx9VwGfTdW0DJa0P8AQgn4ZXYXmSNksbo5G8THgtcO0FSnTspkjzwce5oWCf2iw0UnX0LWnbrG30XIpv6N17PEQRHXxcTOzixn6O9V4s0kun726xTvL6ec8dM89XPb4evisus4nQRUd1ibmWkmG\/dz38wPVape9Xc4pTvCp9YPX6b+R4vObxqqjtPAHwUwE0428cHrxjA\/zeaaU4qG6XS0Engik44mnqGcfLhX3TLX1t6ud3fG9jJHCOLjBBLefyDUq\/6O17TVGSI66Lo3bczjGPUNU\/w8Ci3WfvLy2KhERYHphERAEREAREQBERAEREAREQBERAEREAREQBERAFMXX7vrm1VHISxmM9\/4h\/EFTqY1T9le7HPzxUcJH+Zv\/tXx70c3FaY77NepToiKh0haN4ukVot7qqQBxBDWMLscRPVnwyfJbyl78DctT221kNMTAZpM9fP6D4q0Fb1Mc83CHu7vRfU+waorKeopxeaFtLBVDMUrTsOzO\/f3YVOtC9W1t1tktMcB+OKJ39l45H6ea0tJXE11lYyR5dPTno5OLn3fDbyKs0mrRnByhk9nJ3ez9UYdZUzv1dFcYQBPRSteHdYGfz4T5LdrAy+aalMID\/aIOJg\/5uYHqF0KmBlVTS08gyyVhafAhT2j55YG1dmqCOkopDw97STnHnv\/AJkTuPyImks1Paar6r\/Bt6Rq\/adPwNc4GSAmJw7MHb4YWDWlNG61R1nGWS0srTG4HHMgH6HyWvbR+pdZVNAGltPXN6SLsBAJ\/mHoqKuoae40xpqphfESCWgkZx4KW+WdlYJ5OHeN7rT6r\/bPdLN7TSQzgAdKxr8A5xkZ59aLI1oa0NaAABgAdSLI7FtqfUREJCIiAIiIAiIgCIiAIinrdWVEusrlTOld0McYLY87A4aMqUrsznkUGl3dFCiIoNAiIgCIiAIiIApvXED5LNHOwEugmDiQM4GCPnhUiwVlJFXUctLMMslaWnu71aLppmWaHtMbj3ArIPYW1rpGtgMYk4ydgCMqa\/WF21NO6K2l1Fb2kg1JG7\/D8vVceW5zx6ffp97uGqjquhxk7syevx28CFfUtNHR0sVNEMMiYGjyV2uTU5YTfEurpJa\/PsSV001+pre66UdbUOq6fgcXOIw4AgcseB3J5LJT1Ptms7dU5yZaEOO2Ny1y6esKgQadmbnDp3Njbvjmcn4Ark09MaDVllhIxmhDXZ297hfn4q6bcbfiY5IRx5VGG1x+9lkpa3uZadZ1tG93BDWgSRlxwC\/ngervQLsXu4VFtt\/TUtK6pmc8MaxoJ3PWcb\/6ClLhb66z1VDe7hU9PM+oHStP9QcwMjA5Z7AqY1afib8TkqSaXwu38ti8U9cbBWy6iiulBUsp8homyTl2CAduv3cbdyoGuDmhzSCCMgjrX1UUnHY6smOORUzj6gssl0ihmpZuhrKZ3FE87Dq2PoF1YhIImCUgycI4i3kT14XtFFtqiVCKk5LqERFBcIiIAiIgCIiAIiIAiIgCmLV+3V1\/wh\/CqdTFrHDry6tOxMIOO73FeGzObP8AFD5\/hlOiIqHSEREAREQHxzg1pc4gADJJ6lhp62lqi4U9RHKWgEhjgSMqautwq7\/XvstqwKdu1TP1c9xns28\/DKoLba6W1U4hpWcIwOI9byOs96u40tdzCGV5J1Fe6uv6JOpvl49rrbhTSfdqGcRup3bgg5GdgOweqsqWoZV0kNTH+CVgeM9hGVM6cgjqGX1s3+zmmc1wG+B73Z4rd0Y+R1j4HEuZHK5sbsjdvgOW+VeaVadDm4aUuZW75r8mcTWFMKC\/0lya0cEhDnf3mEZz5YVyCCMg5BXG1bRe22CfhZxSQ4kbtuMc\/hlab7\/0ejIqpr\/vMkfQs334xsSO3tUO5xX2LRccGWd7NX+zFcpGX\/U9NbogX09E4vncBtxA7gnyx4nzGTVANPerLWsGOGbge7lsSNs+HEujp20NtVvHFl1TOA+d5zkns37Mr7qG0G8W0wseGTMdxxOOccQTmSkl0IeKcsUpP4nr9tkdVYKyjgr6Z1NUs4438xkj5LKwOaxoe7icAAXYxk9q9LLY7mk1TMNJSw0VLHTU7OCKMYaM5WZEQJJKkEREJCIiAIiIAiIgCIiAIiIAiIgCmKYiH9IlXx5HT0w4Mjnsz+UqnUxfPuWrrRW8hLmFx5deN\/3\/AIK8OqObidFGXZr9fkp0RFQ6QiIgC4Wp7hLFBHbaQn2uuPAzHUM4Jz1eK6lfX09tpH1VU\/gjb6uPYO0rgWWnnvV5dqCrjMcIHBSxuGdu35+ZV4L+5nNnm3WKO78l1Z2LLaYrPb2U0YBfjMjwPxu7VtVlSyjo5ql5AbEwuOe4LMtevpBXUM1K5xaJW8JLeardu2a8vJDlh02OBpMx0elpq2qOWPe+R7nDOWjbHfuD5ldm0V0FytsdTTQuhicSAxzQOR7lPx6au9XHBQXCsjZQU+MNhG7\/APXafHCqoYY6eFkMLAyNgw1rRsArzo5+GU0kmqSVeLZ7IBGCMgrRkstuljpo3UzQylcHRNGwB7+3l1rfRUTaOqUYy3QREUFgiIgCIiAIiIAiIgC8SSxxAGSRrATgFxxk9i9qXvzf1jqm12x2DE0GZ7e3GTv5N+KtFWzLLk5I2t9vuVCIiqahERAEXwkAZJwAvqAIiIAp7WlKZrH07dn00jZAe7kfn8FQrDWU7auinpncpY3MPmMK0XTTMs0OfG49zzb6oVtvp6of8WNrsdhI3C2FPaKqHvszqWUEPpZXRkHmOv5kqhSSptDDPnxqQREVTUl9TffL9aLafeY5\/SSx52c3I5jwa5U7WhrQ1oAAGAB1KZhJqv0hTE4LaSn2JGcZA5fvH4qnWk9Ekc2DWU5+NfbQIiLM6QiIgCIiAIiIAiIgCIiAIiIAiIgCmIftf0iVH\/Rph8m\/zKnUxaPtNb3aT+ywN35\/1fyV4bP5HNn1cF4\/hlFUVEdLTvnlOI4xxOPYF5o6yCvpWVVM\/jikHuuxjrx8wsr2NkjdG9oc1wIcD1hTWlXPoLhcbJJygf0kQJyeE4+nCfNQlaZeeRxyRT2fqU6IiqbHM1IwyaerWg4PR5545HK+6ekMun6J5OT0QGc55bfRbtVAKmkmp3cpWOYfMYXB0POZLI6nd+Knlc3HYDv8yVdawOZ6cQvFehRoilbpq6e33x1K2mD6aAgTOweLcDcHz81EYuWiNMuaGJXIqkXiKVk0TJY3BzHtDmuHWDyK9qpqTFkzR6vu9FybLiYDzzt+\/wDBU6mLqTbtZ26s5R1TeheQOZ5bnzb6KnV560zm4fTmh2b89QiIqHSSkNRFadbVftbxDFVxjo3uGAXbdfrv5LcvWqKekj9nt721VbJtG2P3g0nrOPkuncLVRXSLo6yBsmAeF3JzfArHb7FbbZIZKSlayQ83kknyzy8lpzRerOP2WaNxg1Te\/VWebFS1lJbGiuqHzVEhMj+M54Cf6vl+a6SIqN27OqEVGKigiIoLBERAEREAREQBERAEREAREQBTGnve1Re3Hch4APdk\/kqM1EAqBTmaMTFvEI+IcRHbjnhTmnP2mvn+KPm5aR2Zy5XeTH836Mp1L3fit2srbXN2ZVDoX74yeW\/qPRVCmdbtcyhpKpjSXQVAPE0btGCfoFGP4qJ4r+lzdqZTIvjSHNDhuCMhfHvZGwvkcGNaMlzjgBUOk9KXsrhb9XXS3k4bP9szfmeePRx9F27fd6K6B\/sk4eYzhzevx8O9cW\/ZotV2eubt0p6F3ZjON\/3\/AILSK3izkzSVRyRez8noU6kLrSsbrDopW\/ZXOmMRceWcYHmC1vqFXriantD7lRNmpgfa6U8cRBwT3fAeiiDpluJg5Y9FdannR1UamwMDncRhe6PPoR1DtXdU1oqWjitBhjqAZnSl0kbyA5rsAYA7PdVKmT4mTwzvDG+xO61pnvszauLaSkla8OHMA7beePRduiqRWUMFSBgSxtfjsyFhvMfS2WuYBkmnfjfG\/CcLS0jIZNM0mXZLeJvo44+GE3gQvd4h+K9P+naREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJekDW\/pBrGy+84wAxHOOHZuRjzK+6c\/aa+f4o+bkq\/sf0h0R5CamIJ5dT\/XkF80+CdR34NdwkybHs3ct3t9EeZHTIl\/J+hSTTw00RlnlZFG3m55wApbUOo7ZXUU9sp2S1kkgw0xD3Q7O2\/M745DdYaW10V3uT47pen1tU15+wjyxoxnI3HywqukoKOgZwUlNHCMYPA3BPieZVfdg\/E2vJnTSpL7v9EjZ7xqGrtcVPb6OOQRDojUPdyxy5nqGO1bkekamuIlvV0nncdzHG7YeBP0AXvSf3e5XigH4IqjiZ6kfQKnUzlyvQpgwrJjTyNvw6aEaaePSmqYHxt4aGsZ0eSc8B26z34PmtvW4MVJQ1rR70FSMemf4QunqK1i7WiWBozKz34v7w6vPl5qdrrn+uNDvfN\/vFK9jZQTuTnAd55+amL5mpFMsfZxnj6NWvyi1aQ5ocNwRkL6te3vMltpnu5uhYT6BbCwPSTtWca5aWtdzkMkkbopCSS6EhpJJyTy\/wBZK6sMTYII4WElsbQ0FxycAY3KyIpbbVMrHHCLcktWeXNa9hY4Za4YI7QsFBb6a2UopqVhZGCTguJ3PitlFFlqV31CIiEhERAEREAREQBERAEREAREQBERAEREAREQExqNpp9R2WsGQDJ0TiOrcfzFNM4fqC\/P6xOG\/wDc\/wDJb2qrabjZZOjz0sB6VmDzxzHplcvQhknFxrJTl88reI9p3J\/8lvvjPOaceKS6PXyoo4bbQwVLqmGkhZM7OZGsAJzz3W0iLC7PQSS2JigIotd10DstbVxB7ABsTsT\/ABKnUvqEGi1NaLkAeEu6F57N\/wAnH0VQtJ60znwaOcOz9dQo3UGl6ye5vmtzR0NXgzt4gMOyMnf19VZIqxk4u0XzYY5o8sjzGxsUbY2\/hYAB4BekRVNgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvLI2RghjGsBOTwjGSiID0iIgOZqC0m82x1MxzGSBwcxzhkA\/\/F0IWvZCxsjuN4aA53aesoim9KM1FKbl4HtERQaBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "PROACTIVE",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "JOSE ARAYA",
    "correoContacto": "nataliasandivari@proactive.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56975178207",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"28996\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"28996\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"28996\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"28996\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:55",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:08",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 12:55:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76423913

[12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76423913', 'EP2532', 1, 9291721, 0, NOW(), 
				'08:00', '12:08', '12:55', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781283312.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200703
[12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200703', 'EPS-I302', 1)
				
[12/06/2026 12:55:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28996 and
				    IDproducto = 'EPS-I302'
				

12/06/2026 12:55:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                [12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200703', 'EPS-I303', 1)
				
[12/06/2026 12:55:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28996 and
				    IDproducto = 'EPS-I303'
				

12/06/2026 12:55:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                [12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200703', 'EPS-I304', 1)
				
[12/06/2026 12:55:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28996 and
				    IDproducto = 'EPS-I304'
				

12/06/2026 12:55:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                [12/06/2026 12:55:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200703', 'EPS-I305', 1)
				
[12/06/2026 12:55:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28996 and
				    IDproducto = 'EPS-I305'
				

12/06/2026 12:55:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
12/06/2026 12:55:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200703'                    
				WHERE idllamado = 12997			
				TO ENVIO: micorreo@miempresa.cl, nataliasandivari@proactive.cl


12/06/2026 12:55:13 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12997			
				
12/06/2026 12:55:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 12:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12997
            GROUP BY l.idllamado;
            

12/06/2026 12:55:15 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12997
                

12/06/2026 12:55:32 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:32 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:34 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:34 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:55:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12998
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 14:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:55:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/06/2026 12:56:03
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-E2uoyZZ71g+qVV5w3rieSmBgi6U5YgjczuIrr6kXXo5Y5vWDsKi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12998",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACRANIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xABDEAACAQQAAwMKAQgHCQAAAAAAAQIDBAURBiExEkGBExQiUWFxkaGxwTIHFRYjQlLC0TM0NXJ0svAkNmJjc5LS4eL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC4RAAIBAgMFBwUBAQAAAAAAAAABAgMREiExBDJBUaETIjNhcbHhQoGRwdFi8P\/aAAwDAQACEQMRAD8A\/swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjiDMvFW0IUIqpeXEuxRp773+17tmbK24utVG7V5QupKO527jy6dOSW+nc1z95+4\/WZ4uur2acqFh+ro89rtdN+rub5etFQWt4crGOMXXbk20uFvLiZGDz9LLxlSqU\/N7un+OjJ8\/ev8AXI1yX4rtaljVo5+y9GvQko1dftRfJb+nj7Ckt68Lm3p16bUoVIqUWvUyMktUWUZyu6c9V1R9AAQNAAAAAAAAAAAAAAAAAAAAAAAAABP8QZG+jkbPFY6rCjVuU5OpJb0lvX0fw+Pzx+bvrLJLF51RVWo90biPKE99F0XxJ4Ha5ne0QU8L9L8LlIACBoBy5K58yxlzcp6dKlKS9+uXzOowOMrp0MDOjDnUuZxpxS6vnt\/TXiSirtIqrTwU5S5IcG2roYGFafOpczlUk31fPS+m\/E3zmx1t5njba21p0qUYv365\/M6RJ3bYowwU4x5I4sxRjcYa8pSj2u1Qnpa3z1y+ZxcI15V+G7Zze5Qco\/CT18tGzJKUXF801pkzwLKUcVc0JfipXDXyX8mdW4yuWW0RfNNexTgAgaQAAAAAAAAAAAAAAAAAAAAAAACZz8nQ4pwtbb1Obp68Uv4jTz2Hp5nHToNJVY+lSnr8Mv5My+N1KlZ2V7Bblb3Ca5+zf1iimi1KKkuaa2ixuyi0ZIxUp1IS0duq+DE4Wy1TI2M6Fy351avsVO11fqb+DXgbhJZaMuHuJKeYhF+aXXoXCiuj\/wBJPwZVwnGpTjUhJSjJJxa70cmuK4ktnk7OEtY\/8meiXyuslxnj7BrtUrWLqzT6b69PCPxKO5uKdpbVbmtLs06UXKT9iJ7hKjUu6l3nLiOql3Nxh7Ip9F4pLwOwyTkcr9+UafN3foimABWagTHCeoZLN0V0p3Xh1kvsU5McLf25xB\/if4pk47rM1Xxaf39inABA0gAAAAAAAAAAAAAAAAAAAAAAAGNxZQ8vw3dJLbglNeDW\/ls6cFXVxgrKonv9TGL96Wn80dF\/Q86x9xb635WlKPxRkcFV\/LcO04b35GpKHz39yesDM8toXmvZ\/JsXlnQv7Spa3MO3TqLTX3RO4G8rYfIVMDkJ+jF7tqsnyafRb9vd7mipM\/K4WyzFNRuqb7UVqNSL1KPiIyWj0O1acm1OGq6rkY\/E17UyNzSwOPl2qlWa84nHeqa9T14t+4o7a3p2ltStqMezTpRUYr2I48VhLLERn5tBuc36VSppya9W9dDREmrWR2lTkpOc9X0QABAvBMcLf25xB\/if4plOTHDn+82c\/wCqvrInHdZmq+LT9X7MpwAQNIAAAAPlcXFG1outXqRpwj1lJg42lmz6g8UqtOvSjVpTU4S6SXRnsHdQAAAAAAAAAAAAAAAS3CC80vcrjZNJ0a3aivWua38l8SpJatL818ewqyTVLIUlDaXLtcl9Yr4lkM00Za\/dlCfJ2\/JUgArNQAAAAAAJjA+hxZmoLo5KXz\/9lOTGJ5cc5ZLknTT1\/wBpOOjM1ffpvz\/TKcAEDSDzOcKcHOpJQjFbcpPSRl5\/MzxNClChR8tdXM+xRg+jfLrz33mbT4av8pNV8\/fzmu63ovUY\/b4fEmo5XbKJ1mpYIK76I+9\/xlYUN0rFSvbhvUY04vs79\/f4bMfK4biDK28bu73Jua7NrBrVKL6t\/To38CvscbZY2n5Ozt4UU+rXNv3t82dR1TUd1FUtnnVVqsvstPk57CzhYWFC0p\/hpQUd+t97+J0AFZrSSVkAADoAAAAAAAAAAAAJ\/jCwlc4pXlHar2UvKRceuuXa+ifgUB+SipRcZJNNaafedi7O5XVpqpBxfE5sZf08ljqN5T6VI7a\/dfevidRMcN\/7BncpiE2qUJeVpR3+FPX2cSnOyVmRozc4Xeuj9UAARLgAAATFpqH5Q77fPylqtezlD+RTkw\/1X5RF\/wA62+3\/AMk4cfQzbR9D\/wBIpwAQNJLKCynHknUbdPH0k4rtJpy93dzb+CKec4U49qclFetvRlZXhuxy1ZV6sqtKslrylKSTfv2mcMeBcb2lKtcXVXS1zml9i14Xa7McVVpuVo3u73v8GpXz+Jt\/6TIUN+qM+0\/kcFbjbC0l6FWrW\/uU2v8ANo6aHC2EofhsISfrqNy+rO+jYWVv\/Q2lCl\/cppfQj3CdtofFL8v+GB+mU6\/9Rwt5cr3a+iY\/SPOPmuG66T6bcv8AxKcDFHkOyqvWp0RMfpJm485cN12vVFy3\/lC4ydDTyGHu7WO9NtN\/VL2FOfkoqUXGSTTWmn3jFHkOyqrSp0RxY\/M4\/KR3aXMZy1zg+Ul4P3M7jAzHDFC5Tu8alaX0H2ozpvsqT9uunvPvw7mJ5S1nTuYOnd20uxWi1rb9evsHFWujsKklLBUWfB8GbAAIGgAHmUowg5zkoxittt6SQB6B4pVadanGpSqRqQktxlF7T8T2AAAAS92vNPygWdVPUbqi4y9r019olQS\/F27e\/wARfL8NG41J+Kf2ZUFktEzNRynOPnf8oAArNIAAAJjItUOP8bVb7MatBwb9b9NfdFOTHGSdtLG5KK\/q1wtte3T\/AISynrYzbVlTxcmn1KcH4mmtp7TBWaT9AAAAAAAAAAAAJjCtVuM8xWpx1CCUHr97aX1izqzfElvZ0p2tlUVxfT9GFOHpdlv1tfQ+3DWJ\/NeLj5VPzmv+srNvnt93hv47LEsMW3xMkpKpVjGP05v+GuACs1g8VaUK1KdKpFShOLjKL70+qPYAPja2tCxtoW1tTVOlTWoxT3rv7z7AA4kkrIAAHTC4vsK1\/h4xoQlOVKtGfZjHtN8muS8TbhJyhGTi4tpNxfcegdvlYrUEpufP9AAHCwAAAGbnsW8xiqlpCUYVG1KEpdE0\/wCWzSB1OzuiM4qcXF6M+NrSnRtKNKrPtzhTjGUv3mlzYPsDh1KysAADoBJ8Q57J2uXha2lCpGjRlGVScIdp1E0m17D6Pi2+qvVrw\/dVN9G9\/aJZ2crXMr2ukpOL4eRUHmc4U4OdSShGK25SekiZ8txhf7VOhbWEH0cuv39fq7guELi9mqmYy1a4\/wCCnyS8X\/JDAlqx285bkH98jryHF2Lsu1CnUd1WT0oUua3\/AHunw2Z3kOI+I+dxP82WUv2FtSkvd1fjpewoMfhsfi0\/M7aFOT6z6yfi+Z3DEluodjUqeLLLkv7qZuLwOPxEF5tQTq6060+c3493uRpAEG282aIwjBWirIAA4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"28997\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "12:56",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:08",
    "horaDespacho": "12:55",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 12:56:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[12/06/2026 12:56:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76464003', 'KY2376', 1, 9291721, 0, NOW(), 
				'12:55', '12:08', '12:56', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781283363.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[12/06/2026 12:56:03] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200704
[12/06/2026 12:56:03] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200704', 'KYO-I647', 2)
				
[12/06/2026 12:56:03] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 28997 and
				    IDproducto = 'KYO-I647'
				

12/06/2026 12:56:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:03 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
12/06/2026 12:56:03 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200704'                    
				WHERE idllamado = 12998			
				TO ENVIO: micorreo@miempresa.cl, secretaria@sanmarcos.cl


12/06/2026 12:56:03 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12998			
				
12/06/2026 12:56:03 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:56:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:06 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

[12/06/2026 12:56:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:56:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

[12/06/2026 12:56:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 12:56:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                
[12/06/2026 12:56:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 12:56:50 - INPUT: {"rutTecnico":"24456550"}[12/06/2026 12:56:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 12:56:50 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 12:56:52 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 12:56:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:54 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 12:56:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

12/06/2026 12:56:58 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 12:56:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:56:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

12/06/2026 12:56:59 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 12:56:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:56:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 12:57:02 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 12:57:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 12:57:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                
=========================================
FECHA: 12/06/2026 13:05:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-95+KDtThBZP4ro1KjYQsaw+7a5d8LKtbmAz6D0craXxR--7mZqA
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69900303",
    "serieinterna": "EP2213",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "42572",
    "contadorColor": "38976",
    "contadorScanner": "0",
    "detalle": "01 Rcon 2394\ncambio de Rod de Retardo (band 2)\nMantenimiento, limpieza general\nCalibracion, pruebas\nl",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13007",
    "observacion": "Requiere:\nRod. Retardo (band 1)\nFeed Roller (band posterior)\npad Retardo Adf\nCover guide (tapa Adf)\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACnAREDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMBBgMGBQMEAgMAAAABAAIDBAURIQYSMUFRYRNxgRQiMpGx0RUjocHwM0LhQ1Ji8RZyJLLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALREAAgEDAgMGBwEBAAAAAAAAAAECAxEhEjEEIkETUWGxwdEycYGRoeHwBSP\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBEXOaeGmiMs8rIo28XPOAEDdjovEs0UETpZpGRxt4ve4AD1Kz821E1bKaaw0b6uQaGZ4xG3+d8L5DsvLXSCov1Y+rfyhY4tY35fthT0W+IzdvqxSV\/Hp9\/Y61e2Nsgf4VN4lbMTgNhboT5n9sqM25bU3HJpbbHRxng6Y6jh14\/JaCkoKOgZuUlNHCMYO43BPmeJUhNUVsh2VWXxzt8vczdBc7vRXmC23h0MpqWF0ckZADTrodBngB6rSLMXUio24tkMeS6Fhe8gaAan9v1C06T6McO3zRbvZhERQNIREQBFFfcqSO4x290w9plBc1g6AZ16KUljiaewREQ6ERZ287QS+0C12Zvj1r9HObqIv2z+gUoxcngrqVI01eRJvm0MVpAghZ7RWyfBC3l3OPpzXexx3NlG6S6yh80r98MAH5Y6aKNYtnmW3eq6p\/tFfLq+V2u7niB91drsmkrIrpxqSlrnjuXv4hERQNAREQBERAEREAREQBERAEREAXxzg1pc4gADJJ5Kqu+0dDaBuPf41QfhhjOXevRVDLZedpXNmusvslETvNpmaOI7\/wCfkpqGLvCM866T0wV3\/bkmu2qMs3sdjpzXVHN4B3G\/f6d1yp9l6u4zCq2hq3TEatp2Ow0eZH7fNX9BbqS2weDRwtibxOOLj3PNSl3Xb4SKoOearv4dP39TlT00FJCIaaFkUY4NYMBdURVmlJLCC5VNRHSU0tTM7djiaXOPYLqsld537TXdtlo5MUsJ36iZozqOQ\/nHyUoxuyqtU7OON3sdtl4pa+5Vt+mj3W1B3IMnXdBwf\/qB81p1zhhjp4WQwsDI2DDWtGgC6JJ3dztGn2cLdevzCIo1fcKW20xqKuURsHDPFx6Acyo2uWNpK7JBIAyTgBZq67Syz1Jtdib49U7QzNwWs645Hz4Koqrrc9raz2C3sMFLj38niOryPp9Vq7NY6Sy0\/hwDekd8crh7zvsOyt0qGZbmLtZ8Q7U8R7\/YjWTZuK2uNVVP9qrnnLpn67vln68Vdoirbbd2a4U4046YoL45wa0ucQABkk8l4mmjp4XzTPDI2DLnOOgCystVX7XTOpqMOprW12JJiNZOGn+Pn0XYxuQq1VDCy3sjpcL1VXypda7Fnd4TVeoDR2P78+St7LYqSy05ZCN+V3xyuGrvsOylUFvpbbTCnpIhGwcccXHqTzKkrrliy2I06L1a6mZeXyCIigaAiLjLV00D2smqIo3POGte8AuPQZQ42ludkREOhERAEREAREQBEVJeNpqW2v8AZoGmqrCcCGPXB7\/biupNuyITqRprVJlrVVdPRQOnqZWxRt4ucVmZLzddoZHU9kiNNTtOH1UmhPl09NfJeqXZ6uvFQ2u2glJA1ZSsOAB36fXutPFFHBE2KFjY42DDWtGAAp8sfFme1Stvyx\/L9iqs+zdHaT4utRVH4p5BrnsOSuERQbbd2aIQjBaYqyCIi4TCIqLaC\/m3btFRN8WvmHuNAzuDqfsupNuyIVKkacdUjjtFdpZJBZLZl9ZOMPc0\/wBNvPXrj5BWdltMVntzKZmHP4ySY1e7+cFmLbcbTs3G9z5DXXOUfmOiO8Mk\/DvfU66qaH7UXsNLGstdOeZ+Mj6\/RXOOLdDDTqpz1vMu5dF\/bl\/W3ShtzN6rqo4uxOSfQaqjftbUVszobJbZKnd4yvGGj0+5C7UuyNro9+ornuq3\/E6Sd2Gjv\/3lQq2\/T3BzqCxAU9PF\/VrD7rGNHToP16LkYx6ZJValVLmenwWX7FZdb1tDDJ7PLXRMmccGCmALm+ZA\/fKg263XPaatDZKiV7I9HzyuLwwdBr+gUmjtrLlO6mo5N2liOauvk0MnXGeA7epVubuS0WfZWm3wwYdUY0b1Ov1Porr2VorJ56j2j1VJO3de9\/Be5C9gqNnLpS0tBdX1E88oD6ZjMDHV2pH+FvFTWLZ2K071RNIaiskHvzO5dhn681crPOV2erw1J04u6tfpvYKNXV9NbaZ1RVSiNjfmT0A5rjdrxS2elM1Q7LjoyNvxPPb7qhpLTUXuYXe\/u8OBusNOThob1PQfqea5GPV7EqtZp6IZl5fM+RUtftdM2prC6mtbXZjhB1k46\/5+XVaqGGOnhZDCwMjYMNa0aAKrqdqLLQjcNWx5aMBkI3uHLTQKu\/8AKrhXkttFmllHKSX4fXGn6qTUpdLIqhOjSeZXk9+r\/BqVk77fzWVBtVvqY4WcKiqe8Na0cwD\/ADsqwV20d8uLre2pbGBpL4ONyMcDlw4\/NXVJsLa4dah81S7oXbrfkNf1XVGMMyZXKrU4hWpKy6t4PMO0tkstDFQ09RNVmEbo3GkknzOB8l8\/8gv1wI\/DbIWMcNJKjOCOvIfVX1LbKCiA9mpIYiObWDPz48lKUdUe4uVKq1ZysvBerMsLLtJcADX3gU7cfBANR54x9SpdFsda6SZsz\/FqZGuDgZXaAjsP3V8i45yJrhqad2rvxyERFA0BERAEREAXOeohpYXTTyNjjaMlzjgBQLzfaOyw707t+Vw9yFvxO+w7qmgs9w2jmbW3txhphrFSsJB8z0+vkpqOLvYz1K1nogry8vmJ7tc9pJXUtlY6npAcSVT9CR26emvkrez7PUVnbvRt8WoPxTvHvHy6KxggipoWQwRtjjYMNa0YAXRHLFlsIULPXN3l5fIIiKBoCIoFyvVBamZq5w12MiNurj6LqTexGUoxV5OyJ64VdZTUMJmqp2QsHNxxny6rIXTbGvkpy+hpvZYXHDZpSN94\/wCI+2Vlap1VK5s9W+R7pRlrpHZJHXXkro0W9zzq3+hGOIK\/kbC5beQtY6O2wOe\/h4sow0dwOJ9cKPa9kJLqxlxuVa8+P75Y0e8fMnh8lD2Z2YkucjKurjLaMHIyceJjl5d1+gPfFTQl73MiiYNS4hrWj9l2TUMQI0Kc+I\/6V9ui9SLb7Nb7WD7HTMjceL+Lj6nVfLreaOzweJVSe8QdyNurn+SpK\/bRr5hSWenNVM87rXuBDc9hxP6KvzQ2iZ1dfKgXG6HhTtO8Iz3PAEf9A8VFQbzIulxMIrTStZdei9\/oSZKa5bQtdWXeU261s98Q5wSOp+59AqO63mKs8O3UEDoLdG7SKPR0p6n+HrqrWMXfbQkyPbSW9juDQTvH\/wDR\/RaS1bPW60DMEW9LjWWTVx+3op6lDf7GZUp1\/g2e7e7\/AEUVDs9cLnCyO4k0NBGPy6SI4J7u79zr5LU0VDTW+nbBSwtjYOQ4nuTzXysuFHb2b9XUxwg8N52p8hxKoZdrpqxzorJbZqp4OPEe07g76fuQq+afyNiVHh93n7s06prxtNQWuB+5NHPUDRsTHZwe+OCzV7N2EA\/GLjuSSH8mipxku1544DzyrXZnZRlE1lbcGB1SRlkZ1Efn3+i7ojFXbIPiKtSWinG3i+n0M\/RxXy83T8QFIJ3u+GSdh8KPpjOmnTVaFuylXcXCW93WWYkaxRaNH7foFqEXHVb2wSp8FCK522V1Js\/aaLdMFDFvNOQ543nA+Zyqm6XSou1WbLZTgDSoqB8LBzAKXW61N3rHWazO7VFSODBzAKurVaqa0Ubaenb3e88XnqU2zLcWVR6KeI9WvJe4tVqprRRtp6dvd7zxeepU1EVbd8s1xioqy2CIi4SCIiAIiIAiIgCpr9eprfuUtFTPqKycYjwMhvcq5RdTSeSE4ylG0XYz9l2b9nm\/Ebm\/2mvkO8S7URnt3+nJaBERybd2cp04042iERV11vlBZ481Mv5hGWxN1c77eZRJvCJSlGCvJ2RYqrum0VutILZ5t+Uf6UervXp6ql8faPaPSnZ+GUTv7zkOcPPifTA7o+n2f2Ubvz\/\/ADK7GQHauz1xwb5nXzVigr5Mk+Ik1eCsu9+i6n38Q2hvUbpIhHaaEDJnk0du+Z+ox5qlayl9oLLVCblUtG9LWVWkbe+Dp6uyuV1vNTdJibg57Ym5LKSI4x\/7H768dBlVktZUVLG0492IH3IIxhufLme5yVojBnlVa6b3b8X6LZeZaSVdvoJnyyO\/Fq\/H9R\/9Fh7D+7HoFZ2LZeouVQLneN7ced4Ru+KTz6DslqsNHZYWXO\/SMY7jHA7XB7gcT25fSPeNr625SGltrXwxOOAW\/wBST5cPRRbbxH7lkVCCUq30j7\/s0t22lo7U4UtOz2mq+FsEX9vY44eSxF+rbnWVTBcJWFxGWwRPBEfLGATg+eqtLZsldZ2B0rxQMePecdZX54+Xlkeq1FvsNrskRmZGN5jS508pyQBxPb0UU4U9ssvlCvxK5uWP99\/wZW02S5R0jp3vbaqfdzLUP\/qlvQcwPl6rza7FDe67NNE+O3Qu9+eQ5fMf29OHmvF\/2ikvdW2kp2yexh2jGaOmP84D1VvFa79dKZkEjo7TQtaA2CL4iO\/P5n0Um5JXeCmMKcpaYJyS\/Pol5lpV7Q2ezRNpo3h7oxutggG8R26BVwrNpr61wpIGW2nPCSTIeR5\/YDzVva9nbdaQHQQ78o\/1ZNXenT0VoqNUVsj01SqzXO7LuXuZ6k2Po2SiouE01fP\/AHGV3uk+XE+pXa9XansFIynpIWe0S5EMMbdAeuB3+a73y+QWWm3nfmVD9Iohxcep7KFY7HN7SbvdvzK6XVrTwiH3+i7dvmkQajF9nRWer7v2LJYJWVBu12f41fJqGnURf5+i0KIq5Sbd2aadONONohZi\/wB2qaysFitBLpn\/ANeVp\/pjmM8u\/wAuK77S3uakMdttw36+o0G7xYDz8z\/lTLHZIbPTYz4lTJrNKdS49B2U0tK1MoqSdWTpQ26v0XidbRaaez0QpoBknV7zxeev+FPRFBu+WaYxUVpWwREXCQREQBERAEREAREQBEXl72RsL5HBjWjJc44AQHpRK+50dshMtXO2MY0bn3neQ5qjq9pqm4VDqHZ+AzScHVDh7rO4z9T8iutv2SgZOau6zGvqXanf+AHy5+unZWaUsyMrrym7Ulfx6fsiuut92gcWWmA0dIdPaJdHEef2z5qfbtm7famuq6t4qJwN589QRhp5kZ4eZVhcrpR2el8aqfujgxjfid2AX57fNoK68nLwYaTPuRDge5PM\/RTinPCwjNWnToPVN6peX06FzfNtnOLqe1e63gagjU\/+o5eayRmldvPJLnuOXSHJd81OhtjIKdlbcnOigfnw4hpJMe2eA\/5d+aiyyuqpAyKIBv8AZDGDgcfUnutEYxjhHl1qlSo9U39D4ZfGZHTwQiMYG9rkvd1JPAduA\/VW9DLTWp7GW+H8RubhpIGl0cR\/4j+49+C7WfYysrvza3epIc\/C5vvu9OXqtxQWyjtkIipIGxjGrse87zPNV1KkVhGrhuEqy5nj+6IyVPsjdrrOKm81RjzxaXbz8duQ\/mi1NtstBamYpIA12MGR2rj6qLctp6Cgf4EZNVUk4EMPvHPQnl9VAdSX2+NL7hOLZRYyYYz75Hc\/f5KpuUlnCNsI0aUrU1ql\/bvZEu6bW263kxQk1dQP9OI5APd3D5ZWdglvG2VYY3ymCiafzAzRrR0\/5HzXWCghutS622SLwaGM4qaw6ul7A9Oy2VFRU9vpWU1NGGRsGg69z3XW4wWNyEY1OJlzPl8OvucLbZaC1MxSQBrsYMjtXH1U9EVLbe56MYxirRVkFXXq7w2WgdUyDfeTuxxg4LnfZWKh1dqoq6pgqKmHxJKc5ZknHy4f9IrXycqa3FqG5S2Kz1NVVi93gZqXaxREaMHLTljkO\/VaZEXZScmcpU1TjZBV18u0dntr6l2DIdI2ZwXO\/wAcVYqgqrLU3LaOOqrXD2GmG9DGCNXace2mfkEja+SNZzUbQWX+PE87L2d1PCbnWkyVtUN8udxY08vM8\/ktCiLkm5O5KnTVOKigiIuFgREQBERAEREAREQBEVJfNoW28ikome018mjImjO73OPoupNuyIVKkacdUiTeL5R2WEPqHF0jvgiZ8TvsO6pG2677TvbNc3Gioc5bTN0c7ufufkpdl2cfHUG5Xh\/tNc7UB2oj\/Yn6LRKd1H4dzOqc62amF3e\/sR6KhprfTtgpYWxsHIcT3J5qQip9pW3N9tEVrB8SR+68tOHBuCdDy4Aeqgssvk1ThdLboih2wq7U+vY0M9orI2lhAfiNpzpvHqOmndVENbb7e\/2iUC5VjdGDG7BF5DnjyA6dVKl2Zis9vdXXiYF+MR00bvjd0J+uPmoVlsNTfasua0Q04OXyAYA7N6n+Fa46VHfB4VR1ZVfh5n0\/vU+U1Hc9qbm+QkvcT+ZK74YxyH2C\/Q7VaKSz0ohpman45D8Tz3+yNFusNvawvjpoIxoXHif3KoZL5db\/ACOprHTuggzh1XJpp26emT5KqTc9sI30qdPhsy5pv7\/3iXN22goLOwieXemxlsLNXHz6eqp44L9tId+qebbQO4Rs+N4\/nXA7KwtOzFHbniomJq6sneM0uuD2HLz4q6JAGScAKF1H4TR2dSrmo7LuXqyBb7PbrPETTQtYQPelfq4juVR1dXU7VVjrfb3mO3Rn8+oH9\/YLzW11TtTcHWu3PLKGIj2icf3Dt2006+S01FRU9vpWU1NGGRsGg69z3Xfhy9yCSq8kMQX58F4d4oqKnt9KympowyNg0HXue6kIiqNiSSsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAzl3vdbPXOs9micakaSzOGBENNf14\/JTLJs9T2hpmcfHrH6yTu1OeeOn7q1DWhxcGgF3EgcV6U3LFkURo8+ubu+ngERFAvC4VlZT0FM6pqpBHGziT9B1XG6XWltFIaipdpwawfE89AspK91yLbttG\/2ahbk09GCQZPIcTx4\/QKcYXy9jNWrqHLHf8LxZ6EM+2lyFTMySmttO3Dc8XdcHhnTXpgKwqdoqel3bVYKX2qdg3WCMZjZ3zz8\/1UVrLptSAyJpttpAw0AYMg8v4PNaS22qjtMHg0kQb\/ucdXO8yrJNLf7GalCcruPXeXV\/JdxSUuy89fMKzaCpdUS\/2wNOGs7aft+q0kUUcMbY4o2xsaMNa0YA9F7RVOTe5tp0oU9t+\/qFlrxcqi91Zslndlp0qpx8LRzGf5nh1X28XaqulabJZj73ConHBg5jP7+gV1abVT2iibTU7deL341eepUktOXuUyk67cI\/D1fovU9Wu2U9pomU1O3AGrnc3nmSpiIoN3yaoxUVZbBERcOhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVber3TWWl8WY70j9I4hxcfsvN9vkFkpBI8b80mRFH\/uI6noMhZCjsl12prDX1rzFC\/8A1HDiOjB0\/mqthBPmlsY+I4hxfZ0leXkcGXCqut0FQ6D8QrHf0YN0+HEOpH7Z8ytPb9lzJUCvvcxrKskENJ9xnPGOflwVvbbVR2mDwaSIN\/3OOrneZUxJVL4iRo8JbNR3f4\/Z8AAGAMAL6iKo3BZvaC8TyzCy2nL6yXSR7T\/SHPXkfp5rrtHfH0m7brf+ZcKg7oa3jGDz8+nzUnZ+yMs9J7+H1UvvTSccnoD0ViWlamZaknVk6UPq\/T5+R0sllp7JR+DF78j8GWQjV5+3QKyRFBtt3ZohCMIqMdgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICPUUNLVujdUU8cro3BzS5ucEZ+5UhEQ4klkIiIdCpdob9+FMZTUzPFrqjSKMa4ycAkefDqu98vcNlpPEcPEnk0iiB1cfsoNhskwqHXi6nxK6bVrXD+kD9DjTtwU4pJamZqs5Sl2dPfq+5e53sNh\/D96srH+PcJtZJDru55BXSIottu7LoQjTjpiERFwmEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAZy32Orqrw673oN8VjsQQtO81gHA\/uO+q0aIpOTZXTpxpqyCIiiWBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CONSULADO DE ARGENTINA ANTOFAGASTA",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "DIEGO COLON",
    "correoContacto": "rko@mrecic.gov.ar",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "abastecimiento@dsprint.cl",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJA SALE ARRUGADA Y SE ATASCA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56953341017",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:06",
    "ubicacionGPS": "LatLng(lat: -23.6587067, lng: -70.3974149)",
    "horaLlegada": "12:13",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 13:05:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69900303

[12/06/2026 13:05:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69900303', 'EP2213', 1, 21773342, 42572, NOW(), 
				'08:00', '12:13', '13:06', 4, '01 Rcon 2394
cambio de Rod de Retardo (band 2)
Mantenimiento, limpieza general
Calibracion, pruebas
l', -1, 
				'', '','1','38976',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781283926.png', 'Requiere:
Rod. Retardo (band 1)
Feed Roller (band posterior)
pad Retardo Adf
Cover guide (tapa Adf)
', null, 'COMPLETADO','LatLng(lat: -23.6587067, lng: -70.3974149)' )
				
[12/06/2026 13:05:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200705

12/06/2026 13:05:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200705'                    
				WHERE idllamado = 13007			
				TO ENVIO: micorreo@miempresa.cl, rko@mrecic.gov.ar


12/06/2026 13:05:26 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13007			
				
12/06/2026 13:05:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:29 - INPUT: {"rutTecnico":"21773342"}
12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

[12/06/2026 13:05:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13007
            GROUP BY l.idllamado;
            

12/06/2026 13:05:29 - INPUT: {"rutTecnico":"21773342"}
[12/06/2026 13:05:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13007
                

12/06/2026 13:05:32 - INPUT: {"rutTecnico":"21773342"}[12/06/2026 13:05:32] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/06/2026 13:05:32] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 13:05:32 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

)

12/06/2026 13:05:37 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 13:05:37] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 13:05:37 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 13:05:37] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 13:05:37 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 13:05:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:39 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:39 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:39 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:39 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:44 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:44 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:44 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:45 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:05:45 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:05:45 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:05:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:05:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:05:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:05:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:49 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:49 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:05:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:05:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                
[12/06/2026 13:05:50] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 13:05:50 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 13:05:50] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 13:05:50 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 13:05:51 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 13:05:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 13:05:51 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 13:05:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 13:05:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 13:05:52 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:05:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:05:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 13:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:03 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:03 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:10 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 13:06:10 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:11 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 13:06:11] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 13:06:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 13:06:11] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 13:06:11 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:17 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:18 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:18 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:18 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:18 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:18 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:22 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:22 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:22 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:32 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 13:06:32 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[12/06/2026 13:06:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:32 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 13:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

[12/06/2026 13:06:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:43 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:43 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:43 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 13:06:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 13:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 13:07:05 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:05 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:05 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:05 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:08 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 13:07:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:08 - INPUT: {"rutTecnico":"9291721"}
12/06/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

[12/06/2026 13:07:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12998
            GROUP BY l.idllamado;
            

12/06/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12998
                

12/06/2026 13:07:19 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:07:19 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:19 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 13:07:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

[12/06/2026 13:07:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:07:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:07:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:07:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:29:32 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:29:32 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 13:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:29:32 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 13:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/06/2026 13:29:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 13:29:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 13:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 13:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 13:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 14:10:35 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 14:10:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[12/06/2026 14:10:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 14:10:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 14:10:35 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 14:10:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 14:10:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 14:53:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 14:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 14:53:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 14:53:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 14:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 14:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 14:53:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 14:53:46 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 14:53:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 14:53:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 14:53:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 14:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 14:53:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:15:36 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:15:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:15:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:15:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:15:37 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:15:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:15:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:15:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:16:25 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:16:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:16:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:16:25 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:16:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:16:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:16:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:27 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:16:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:16:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:16:27 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 15:16:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[12/06/2026 15:16:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:16:27 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13008
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:47
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2867
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:16:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:52 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:16:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:16:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:17:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:17:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:17:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:17:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:15 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:15 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:16 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:16 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:32 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                
=========================================
FECHA: 12/06/2026 15:18:32
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+UXyNtsk6vDIbvXm8oYN7B3E-zcLlR2F2BBhiczhI1Jrgy-o+Si
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76079600",
    "serieinterna": "EP2867",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "Radio Madero",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Recepcion",
    "rutTecnico": "19969062",
    "contador": "1253",
    "contadorColor": "756",
    "contadorScanner": "0",
    "detalle": "Instalacion impresora epson\nFirmado por Flavio Magnata",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13008",
    "observacion": "Instalacion impresora epson\nFirmado por Flavio Magnata",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADLAScDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABLEAABAwMBBAYECAoIBwEAAAABAAIDBAURBhIhMUETUWFxgZEiobHBFBUjMkJSwtEHFiQ0VWJykuHwNkNEY3OCk+IlJjNUZKLx0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADIRAAIBAgMFBgUFAQEAAAAAAAABAgMREiExBDJBUXETImGRodEUM4Gx4SNCUmLB8fD\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIvN80UZw+VjT2uAX7BBGQcgoLn1ERAEREAREQBERAEREAREQBERAEREAREQBERAERYup7q+225sdMfyqpd0cXZ1nw9pClK7silSapxcnwPK56lMVWbfa6Y1tbkggfNZjjnHV4d65xQatqvSlucFM0\/QY0Ejyb71pWCzR2iiGRtVUoDp5Ccku6s9QWqruSWUUc8aU6ixVG14LIlx+OFCS5xp69jeQwCR5A\/wA81602sIWyiC6Uk1BNgZ2x6J347+eVRrwq6Onr6d1PVRCWJ3Fp\/ncmJPVE9jUjuTf1z\/J6RSxzRtkikbIxwy1zTkHxX7UjPQ1WkJzW2\/bqLc8jp4XHJZ2g+\/zVNRVtPcKVlTTSB8bxuPV2HtVZRtmtC9OrieGStJf+yOhERVNwiIgCIiA\/LnNYwve4Na0ZJJwAFMT3a46gqpKOxu6GmZukq3bvLn3Y39y\/Wpame5V0OnqF+y+X05378NbjOD7fJb9FRU9vpWU1NGGRsG4dfae1aK0Vd6nJJyrTcIu0Vr4+HuYkWiLaAHTzVE0hHpPL8ZK5ZrJcdO4rLPVTVMLDmSlfvy3w48epVqJ2kuJZ7LSt3VZ80Z1mvNNeqXpoMte3Akjcd7D9244WipW90c1juYv1vb6D3YqouRzz8fbvVJS1MNZTR1MD9uKQZaVEktVoTSqSbcJ7y9fE9kRFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKUgjN71tPPIdqntmGsb+v\/8Ado+AVS5zWML3HDWjJPUFNaJBmgr69w9KpqTnPE43\/aK0jkmzlrd6pCD6+X5KdERZnUEREB8c0OaWuAIIwQeakXB+j7zttBNqrHY2QT8k7+fMdyr1z19DBcaOSlqGBzHjHceRHarRlbXQwrU3NJx3loe7XBzQ5pBBGQRzX1TGm6qotta\/T1f8+MF1O\/O57eOB6z59Sp0lGzsWpVO0jfz6hERVNQuevrYrfQzVc3zIm7WOs8h4nAXQpjWD3VUlvtEZINVMC\/Bx6I3e8nwVoq7sZVpunTclqfrR9FK+OovNXvqK1x2T1Nz7z6gFSr8RRMhiZFG0NYxoa1o5AcAv2knidxSp9nBRCIiqannPDHUwSQSt2o5Glrh1gqZ0tNJbbjVWCpdvjcXwE\/SHP1YPmqpSuqQ623e3Xtm1ssd0U2yPo8fWC5aQzvE5do7lqq4a9HqVSL4CCMg5BX1ZnUEREAREQBERAEREAREQBERAEREAREQHjWHFFOeqN3sWJon+jrP8V63ZwDTyAjILD7FgaFJNgOTwndjyCutxnNP58ej\/AMKNERUOkIiIAiIgJvV9O+KGmvFO35eilBJ6255+OPMrdo6uKuo4qqE5ZK0OHZ2L9zwx1MEkErdqORpa4dYKnNGzPgFZZ5yOko5TjB4gnB9Y9a01h0OX5dfwl91+CnREWZ1BStCfjbXNTV7nRUDOjYcHjvHt2lv3StFvtlRVnHyTCW55nkPPCytGUZp7IJ5MmSqeZCS7O7gPv8VpHKLZy1e\/VhDlm\/pp6lAiIszqCIiALN1BRCvslVDs5cGF7MfWG8LSXwgEYIyCpTs7lZxUouL4mTpasNbp6le4gvjb0bsfq7h6sLXUxo\/NLPdLYTkU0+W928fZCp1aatJmWzScqUb6+2QREVDcIiIAiIgCIiAIiIAiIgCIiAIiID44BzS07wRgqa0ISLPURHeY6lw9Tf4qmUxpL5K43qmO7o6nIHi4e5Xjus5qmVaD6lOiIqHSEREAREQBS9y\/4RrKjrhuhrmmGTZHE7hv8dnyVQsDWlMZ9PvlacOp5GyDr6vf6leG9bmc+0p9niWqz8jfRcttqhXW2mqsgmWNrjjrxvHnlFR5G6aaujE1xM74rgpGfPqZw3f1D+OFQwQtp6eOFnzY2Bo3Y3AYU5d81etrVS8WwMMxzyO8\/ZCp1pLKKRz0u9VnLovL\/oREWZ0hERAEREBLxj4H+EN4ycVlPnHcP9hVQpi+Zp9Y2ep4CTMXrx9tU60nomc2z5OcfH75hF8JAGScAKU03que4V3wSvaxhmyYXNBAJ4lu\/wDndhVUW02jSdaEJRjLiViIiqahERAEREAREQBERAEREAREQBTFm+R1pd4PrtEnsP2lTqXq3fF+vaabeGV0PRuOOfADt3hqvDijm2jJwlyf3yKhERUOkIiIAiIgC8K2nFXQz0xIAmjczJ5ZGF7ohDV1Zk9oqodLYuhefSp5XMxjgOPjxReGms0morzQnh0nSNHUMn3OCK9TeOfZXekk+GXkfaP8p\/CBWSDe2npw0Htw3d6z5KnUxaCW63uzM5BYDv8A8v3qnSeqGzbsn4v7hERUOkIiIAiIgJnVJIvVhbuw6pwd36zPJUymNRf0lsZz\/W8PEKnV5bqOal82p1X2RyXScUtqq5z9CFxG\/GTjcpag0++4aPp3xfJ1jHumhcNx48M9uAfJautKnoNOysBwZntjHnk+oFattphSWympwMdHE1p78b\/WrJuMbrmUnBVazjLRL7v8HBpy9\/G1IWTjYrIDszMIwe\/H84K2VMX+31Fvrm6gto9OIflEQG57eZ8uPnyW3a7nT3aiZU07sg7nN5sPMFVklvLQvRm0+znqvVc\/c7ERFQ6SV1vV1NEygmppXxkSOJLSQDjBGetUFsr47lboayPhI3JH1TzHmsLVwE9ws1GRls1R6XPdlo4dxK8rC91ivtRY6hxEUx6Smcef\/wBA8wtrXguZ56qOG0yvuuy+tisREWJ6ARFjapuM1ssr5aclsr3CNrwfm55+pSld2KVJqEXJ8DZRR\/TXrTLxPO6S50Uw25DvzGTvPXjj3HsVNQXGkudOJ6SZsjTxAO9p6iOStKNs+BnTrKbwtWfI6kRFQ3CmtbRPZRUlwiJElJOCCOQPPzAVKuO70PxlaqikyAZGYbn6w3j1gK0HaSZjXg505RR0wysnhZNGcskaHNPYd6\/aw9JVoqbKyB26WkJie08QAd3q3eBWdVS12pb1PQUlUaegpSBJIz6Z6sjtzjuypwZtcinxC7OMkrt8CtRTDtFMp2F1tulXTS8iX7if8uF5m7XzT5abxEKukyG9PEBtDj3b+HEeKnAnusjt5Q+ZGy56oq0XNQ3CluVOJ6SZsjSBkA729hHIrpWdrHSmmroIiISTH5v+ET0f7TTel4D\/AGhErfR\/CJb8btumOe3dJ9wRaT4dDm2fWa\/s\/wDBTObD+ESrB4zUwAzzOG8P3VTqYueafXdsn4NmiMZJ5n0h7wqdRPg\/AbPk5rxfrmERFQ6QiIgCIiAmNU\/J3uxTcAKjDj2bTP4qnUxqb09Q2FnDE+1n\/Mz7lTrSW6jmpfNqdV9iX1Tmsu9otrfpy9I\/uyPdtKoUvB+X\/hAmk4soYNkHtxj7TvJVCTySQod6U583byyPhAIwRkFStZbK\/TtZJcLLGJqaQEzUx4N7QM9\/Dh3KrRVjKxpVpKouTWjM60XyjvUJfTuIkaPTid85v3jtWisC86ZbVTG4W6Q0tez0gW7mvPb2nr81zN1Fe6YdBVWGaWcHZD4s7Lu3gfUVbCnnEyVaVPKqvqtH7H25\/leuLdTtOfg8ZkdkcOJ9wXfqOzm6UQfAdirpztwvHHI5ePtAXhp211UdRUXa5\/nlSSNnA9BvL2eQC30lKzVuBFOnjhJzW8\/+GRpy9C70Pyvo1UPozM4HPXjtWupW+UdVZbl8fW2PbYfzqLO4jrx7+R39a3rZc6a7Ubammflp3OaeLD1FRKP7loWo1Hfs57y9VzOxTOtnGSloaQEjpqkbxx3DHvVMpZ+L5rNjQ7apra3aPAtc7s8eJ\/V81PW\/IbVnDAtXkU+w3Y2C0FuMYO\/cpm4WWps1X8a2JhI\/rqRoyHDsHu8lUIojJo0qUo1FnrwfIy7NfqW8w5j+Snb8+Fx9Jvd1jtWosG9abZWSGvoHGmuDDtNe04DyOvt7V4W\/VLoqn4vvsQpKoH\/qbgwjtOd3fw7lZxTziZRrSpvDV8+D9mUqL41wc0OaQQRkEc19WZ1ETe5qnTN+mrqRo6KvjO4jcH8z353+JW\/pq1vtdqa2bfPMellJG8Ejge5T10+E6vuE8VE78jomOMb8HEj8Dd48uzvVFpq5C52WGRzsyxjo5O8c\/EYK3nfAvU83Z8LrtrTO3+2NZfHNDmlrgCCMEHmvqLA9ImK7TM9BMa\/T8roJG73U2TsyeZ9R9S7LLqOK4k01WwUlaw4dC\/0do9md\/gttZN507SXcdIcw1TQNidnEY6xzWmJSykcroypvFR8uH05Gsikxd7xpstgu0DqylG5tVGSXDfzJ4nsOO8rXi1PZpYjJ8OjZgb2vy1w7MH3KHBotHaKbybs+TM2MfCPwhyn\/ALamHrA\/\/SJpNj6uuuN4kjdGKiTZjDh9Hj7NlEnrYjZs4OXNtn61rC9tFS3GI4ko5w4cNwON\/mGqhgmZUU8c8ZyyRge09hGV43KiZcbdPRvOBKzGeo8j5rI0fWSuoZrbU5FRQv2CD9Xl6wR5KdYdCNyv4SXqvwUKIizOoIiIAiIgJjUf9JrH\/in2tVK97Y2Oe84a0Ek9QU1rUOhhoK9jSX01QCMcuf2V0avr3QWToYHZkrHCNuzvy08d\/aN3itbYlFHFjVOVVvwfoeGjWunbcLnIMOqqjd3cftersVMuS1UQt1rp6QbzEwAnHE8T68rrVJu8rm9CDhTUXqERFU2CIiAIiID4QCMEZBU3V6Zno53VdgqRSyuOXRO+a\/fnHYN3DHPiqVFZSa0M6lKNRd4l3VGralhozRw07nHYdUtPAfWG\/wDnPDK1rFZ4rLbxTsdtyOO1I\/HF33LSRS5XVikKKjLE22\/EIiKhuFy19upLnB0NXCJGjOCeLTjGQV1IidiGlJWZLNsF5sxd8S3ASQk7oJxwz6vYj7Zqe6N6CvroqanPzxCN58vvVSi07RnN8LDRN25XyOO2WymtNE2lpmkNBy4k73O5k+Sn6YHT+sXU5OKS5b2Z4B\/Iee7xCrFhatoX1doM8GenpHCZhHHA4\/f4JF3dnxFenhgpQW7mv9XkbqLgstybdbXDVjG04YkA5OHFd6o1Z2OiMlKKktGERFBY+OaHNLXAEEYIPNZ0unrRPL0klvhLiSSQ3GT4LSRSm1oVlCMt5XPxFFHDE2KJgYxgw1rRgAIv2igsFJ3cusOqYLsM\/BqsdHP1A7h7gfAqsXLcrdBdKJ9LUNy13Aji08iFaDs8zGvTc493VZo6QQRkHIK+qe06Lnb6mW0VkMkkELcxVP0cZ3D+HLCoVElZlqc8cb2sERFBoEREBzXGhiuVBNRzEhkrcZHI8QfPCwbZpmtirqaS41bJ4KEEU0YHacE9WNx58hyVOispNKyMZ0YTkpPVBERVNgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAL4QCMEZBX1EBJWonT2qJrU84paz04M8AeQ9o8Aq1Yeq7a6utfTwZFTRnpYyOO7iPVnvAXbZbk262uGrGNpwxIBycOK0l3liOWj+nN0uGq6cvod6IizOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCk6YjTeqn0mNmhuODHyDHdXnu8R1KsWPqa0m62pwjH5RB8pFjiSOXj7cK8Gr2ejOfaINxU46rP3X1NhFl6eugutqjlcfl4\/QmHMOHPx4rUVWrOzNoTU4qS4hERQWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIvM1EDRl00YHWXBeL7nb487ddTNxx2pWjHrU2ZVyitWdSLMk1HZoxl1xgP7Ltr2Lz\/ABqsf6QZ+677lOGXIo61JfuXma6LI\/Gqx\/pBn7rvuT8arH+kGfuu+5MEuQ7el\/JeZrosyPUlmlxs3GEZOPSOz7V2w1VNUAGCoilB4bDw72KGmtS0akJaO57IiKC4REQBERASdw29NakZcmlxoq52zOOTXdfv8wqtrg5oc0ggjII5rmuNBDc6GWknHoyDccb2nkQsTSldLE6ex1h+XoyQw\/WZ\/D2EdS0fejfijkj+jVw8JadeKKVERZnWEREAREQBERAEREAREQBERAFx3OtloKJ08FHJVvBAEUecnyBXYilESTasnYmPjvUtRvprCIx\/fOPv2U+Eazk\/sVHHntG7\/wBiqdFbGuRz9hJ6zfp7Ex\/zn\/4fqXwxazlOPhFJD24B9xVQiY\/BD4f+8vMmPiTUtRuqb8Ix\/ctPu2U\/Epk\/59dqypPfj25VOidpLgPhaT3rvq2TjdDWcHJNQewyD7l7M0ZY24zTPfj60rt\/kVuomOXMlbNRX7UZUembLF823xH9rLvaV6\/EFo\/RtN\/phaCKMUuZoqVNaRXkZ\/xBaP0bTf6YT4gtH6Npv9MLQRRifMdlT\/ivIy5dNWWYYdboR+xlvsXBPoezy5MfTwfsSZHrBVGilTkuJWWz0paxRMHS1ypHbVuvs7MfQlyR7cdXJBNrCh3yQU1e0cS3AJ7uHsVOinG+JT4aK3G10fuTLNaRwSCK526po39oyPXgrao7vbq8D4LWRSE\/R2sO8jvXTJFHMwslja9p4tcMhYtdo+0VgJZCaZ5G50JwPLgp7j8CLV4aNS9GbqKWdbtS2cOdQVwr4W8Ipt7sePuPgvSHWUMMvQXainoZRxJaXNPb1+1RgfDMlbTFZVFh66eehSqZ1XSzUksF9ogRPTENlx9Jnb7O49i3qWvpK1u1S1MUw\/UcCR4L2exskbo3tDmuBDgeYUReFl6kFVhZPozxoayK4UUVXAcxytyOzrHgdy6FJ2d79O3+SyTHNLUnpKd5PAngPVjvHaqxJRsxRqOcc9Vk+oREVTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALyqKaCqiMVRCyWM8WvaCF6ohDV8mTtVou3Sv6WkfNRyb8GN2R5H3FeDotUWUbbJm3Wnb9Ej5TGPPq4EqpRXxvjmc72aF7w7r8PbQhrzeKG+29sgc6huNIdtjJfpb94DvDnjeFU2O5G62qGqc3ZeRh4xgbQ447Oa9ay1UFf+dUsch+sRh3mN694YIqaIRQxtjY3g1owplKLjZEUqVSNRyk07+p6IiLM6j\/\/2Q==",
    "razonSocial": "MADERO COMUNICACIONES LTDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "FLAVIO MAGNATA",
    "correoContacto": "flavio.magnata@madero.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56979760012",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29006\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I303\",\"id_control\":\"29006\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I304\",\"id_control\":\"29006\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I305\",\"id_control\":\"29006\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:19",
    "ubicacionGPS": "LatLng(lat: -23.6378399, lng: -70.3954024)",
    "horaLlegada": "15:00",
    "horaDespacho": "09:09",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 15:18:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:32 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76079600

[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76079600', 'EP2867', 1, 19969062, 1253, NOW(), 
				'09:09', '15:00', '15:19', 1, 'Instalacion impresora epson
Firmado por Flavio Magnata', -1, 
				'', '','1','756',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781291912.png', 'Instalacion impresora epson
Firmado por Flavio Magnata', null, 'COMPLETADO','LatLng(lat: -23.6378399, lng: -70.3954024)' )
				
[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200706

12/06/2026 15:18:32 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76079600'
				   AND serieintmaquina = 'EP2867'
		
12/06/2026 15:18:32 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'EP2867'
				   AND estado = 1
				
12/06/2026 15:18:32 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76079600', 'EP2867', 1, 1, now(), 'Radio Madero', 'ANTOFAGASTA', 'Recepcion');
				
=========================================
FECHA: 12/06/2026 15:18:32
listaInsumosUsadosConsolidado===

idReport:200706

idInventario:EPS-I302

idControl:29006

cantidadAsignada:1

cantidadUsada:1

[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200706', 'EPS-I302', 1)
				
[12/06/2026 15:18:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29006 and
				    IDproducto = 'EPS-I302'
				

12/06/2026 15:18:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I302';
                
=========================================
FECHA: 12/06/2026 15:18:32
listaInsumosUsadosConsolidado===

idReport:200706

idInventario:EPS-I303

idControl:29006

cantidadAsignada:1

cantidadUsada:1

[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200706', 'EPS-I303', 1)
				
[12/06/2026 15:18:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29006 and
				    IDproducto = 'EPS-I303'
				

12/06/2026 15:18:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I303';
                
=========================================
FECHA: 12/06/2026 15:18:32
listaInsumosUsadosConsolidado===

idReport:200706

idInventario:EPS-I304

idControl:29006

cantidadAsignada:1

cantidadUsada:1

[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200706', 'EPS-I304', 1)
				
[12/06/2026 15:18:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29006 and
				    IDproducto = 'EPS-I304'
				

12/06/2026 15:18:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I304';
                
=========================================
FECHA: 12/06/2026 15:18:32
listaInsumosUsadosConsolidado===

idReport:200706

idInventario:EPS-I305

idControl:29006

cantidadAsignada:1

cantidadUsada:1

[12/06/2026 15:18:32] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200706', 'EPS-I305', 1)
				
[12/06/2026 15:18:32] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29006 and
				    IDproducto = 'EPS-I305'
				

12/06/2026 15:18:32 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I305';
                
12/06/2026 15:18:32 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200706'                    
				WHERE idllamado = 13008			
				TO ENVIO: micorreo@miempresa.cl, flavio.magnata@madero.cl, khapo73@gmail.com


12/06/2026 15:18:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13008			
				
12/06/2026 15:18:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:34 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 15:18:35 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:18:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:35 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:18:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13008
LIMIT 1;
        

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13008
                

12/06/2026 15:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:37 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:37 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:37 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:39 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:18:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:18:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13009
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76079600
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [ModeloMaquina] => MFC-L8900CDW
            [SerieInternaMaquina] => BR2174
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:18:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                
=========================================
FECHA: 12/06/2026 15:19:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-i8ya9gX9mdxcuz+sXLmkLLFxr9X1tddwnP0P6KruMwsUZm2I6yk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76079600",
    "serieinterna": "BR2174",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "VAN BUREN 3705",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "ENFASIS",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Retiro maquina brother\nFirmado por Flavio magnata",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13009",
    "observacion": "Retiro maquina brother\nFirmado por Flavio magnata\nsin contador",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADHATMDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABMEAABAwMBBAYFBwkFBgcAAAABAAIDBAURBhIhMUETUWGBkaEUInGx0RUjMjPBwvAHFiRCUpKy0uE0U2KC4jVVdKLT8SU2Q0RUY3L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAA0EQACAQIDBAkEAQQDAAAAAAAAAQIDERIhMQRBUWETIjJxgZGhwdEUUrHhQiMkM\/BTYvH\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiLIvmoILQ1sTW9PVyfVwt49hP43rqTbsiE5xhHFJ5GlUVMFJEZaiVsTAcbTjjep2fV8lU\/oLJQS1Umcbb2kMH47cL4pdPV14qG12oJSQN7KVhwAO3q9\/aqaGCGmiEUETIo28GsGAFPqx5me9arp1V6\/onDBrOc7XpdHTZ37OAcdn0SnyXqxo2m3uEvHAFu7H7v2KnRcx8kS+mW+T82S7q3VdsHSVVHDXRfrdD9IeHwPBaNn1HR3h7oWB8FQzOYZOPd1rXWJfrD8ohtXRv6Cvh3xyNONrsJ+1dvGWTViLhVp5wd1wfszbRY2nrzLcY5Katj6KtpzsytOBtduOXu6lsqDTTszRCanHFEIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLIuOp7ZbZOhfKZZv7uIbRHt5Lkg1rbZJAyeOemyQAZGbj4dSmoSavYoe0Uk8LkrlEi+Y5GSxtkje17HDLXNOQR2FfSgXhERAEREAREQBEXy5zWML3HDWjJPUEBnXy8x2ajD9kyTynZhjAztO+C4bBY5o533a6\/OV828A\/wDpD443dnBclrZJqS\/uu87cUlIdmmaWnDiCcH2jie7qVYrH1VhWpkprppdI9Fp8\/AREVZrCIiAIiICYl2aH8oETwQ1tbT4Pafw0KnUxq35i4WesaMujqMY6xlp+xU6nLNJmajlOced\/MIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAKbvdyqq24NsVqk2ZnjM07XfVjmPx1had+uYtNpmqcjpMbEQPN54eHHuXHpa2OpKA1lRl1XWnpZHO4gHeB55PaVZFWWJmWq3OapR733fs6bPp+hs0Q6GMPmx60zwNo+zqHYu2ro6evpn09TEJI3jeD7x1Fe6KDbbuXxpwjHClkSVtnl0xdhaKtxdRTnNNKTwOefjg93Wq1Zl+tDLxbH0+4St9aJx5O+B4Lx0vdHXO0NMpJngPRy54kjge8eeVOXWWIopXpT6J6bvg2URFWagiIgCIiAKd1fVSGkhtdMSaiueGgNP6vPPZ\/VUSlLSwXvVdXdXvEkFIeig6id4yOzif8ynDW73GbaG2lTWssvDeUdBRRW+hhpIfoRN2c9Z5nvOSuhEUDQkkrIIiIdCIiAIiICY1UOnu9lpeIdPtPA5DaaM+9U6l5x6d+UCGMnLKKDaIHXj\/AFNVQpy0SM1DOc5c7eSCIigaQiIgCIiAIiIAiIgCIiAIiIAiL8c4NaXOIAAySeSAlbkz5e1fDbHH9GoWdLI39o7ife0eKq1MaPa6rmuN3kBzUzYZnduG\/wC0DuVOrJ5O3Ay7MrxdR\/yfpuCIirNQUtbwbVreqo8kQ1zDMxp5u4\/zhVKl9Wj0Kvtd2acdDNsP7Qd\/uDvFWQzduJl2nKKqfa\/\/AEqERFWagiIgCIiAzdQVvoFjqpw7ZfsbLD\/iO4e\/PcvHS1CaCwU7HNIfKOleCMbzw8sLg1UTX3G22Zp3TSdJKP8ACPZv4bSpmtDWhrQAAMADkrHlBLiZY9eu5fbl7v2P1ERVmoIiIAiIgC+XvbGxz3nDWgknqC+lgavrzBa\/QoH\/AKTWOEbWDiWnj48O9diruxXVmqcHJ7jm0kH11ZcbzICPSJNiMEchv+A7lULktVELda6ekG8xMAJxxPE+eV1rs3dkaEHCmk9d\/eERFEuCIiAIiIAiIgCIiAIiIAiIgCzNRVBpdP1socWno9kEcQXer9q01Oa5lLLC2McZZ2twOe4n7FKCvJFO0Sw0pPkd2maUUunqNoG97OkPbtb\/ALVqrzp4ugpoot3zbA3d2DC9Fxu7uTpxwwUeAREXCYWDrOHpdNzOxkxPY8eOPtW8svUjOk07WjGcRE+G9ShlJFNdXpSXJnVbZjUWulmPGSFjjuxxARcum39Jp2iOc4iA8NyLksmydN3gnyNRERcJhERAS4\/SfyineT6LTeGR\/rVQpiwgz6tvVSW\/VkR5PHj\/AKVTqc9UjNs2cZS4thERQNIREQBERAfjnBrS5xAAGSTyUrZidQainvDwfRqX5umBzvPXj2b+8L21TcJ5Xx2K35NVVD18cAzByPLw9q2rZb4bXQR0cGS1g3uPFxPElWLqxvvZkl\/Vq4VpHXv3eR1oiKs1hFz18roLdUzMdsujie4O6iATlS2i73UVEz7fWTF\/qbUJfx3biM893uKmotpsonXjCpGD3liiIoF4REQBERAEREAREQBEX45wa0ucQABkk8kBzy3CjgqG081VFHK76LXOAJ7Px1hYOq\/0i6Wajad759p2OIGW7\/f4Lgs9nh1I25XCqJa6aYiB7dxYRvzjnxA7ly299aNWW+huOXPoy5jXEnLhgkHt5dyvjBJ5PQ8upXlUgk1lJq3nvP6AiIqD1AiIgCztQECwV2Tj5h3uWisrUzg3TlaT\/d48SApR7SK62VOXcz50sCNN0WRj1D\/EUXrp1pbp6hB\/uQfFEl2mco5U49yNJERRLQiIgJjS3+3NQf8AE\/eeqdTGlv8AbmoP+J+89U6nU7Rm2X\/Eu9\/lhERQNIREQBZt8vMVloDO8B8jjsxR5+kfgF1VtbT2+lfU1MgZGwbz19g7VOWaimv9wde7mw9A0\/okLuAGePd5lTilq9DPWqNNU4dp+nM69N2eWB0t1r8OrKs7eMfVg78d+fLCoERRk23csp01TjhQREXCwyNUVIptO1bs4L2dGO3aOPdlY1VY5o9N2+upMsraKISYaN7gfWI7sk+K6taudLT0NA04NVUAYHEgbve4Kka1rGBjRhrRgDqCtTwxRilTVarJPckvf4OKzXJl2tcVW3Ac4Ye0fquHELvUlTH82tUmj+jQXAh0Y5Md2d+72EKtUZqzy0LqFRyjaWqyYRF8SyxwxukleGMaMlzjgBQLz7Rc1FcKW4wmakmbKwHBI5HjhdKaHE01dBERDoREQBY+qq\/0CwzuaSHy\/NMI6zx8srYUtqEG5aktlrb6zGHppQBnd29W4HxU4K8szPtMnGm7avLzNiwUHybZaanIIfs7T8jftHeR3cO5TWsWVDNQ0M1Jun6LLNniS0kq2UxfvU1ZZZHEBpcWg555\/qFKD61yraaaVFQW5r8mrY7xFeqBtQwBsjd0sec7J+BWkpK708umrqL3RMBpZTs1MI3AZ59\/kfaqmnnjqqeOeFwfHI0OaRzCjJLVaFtGo3eE+0vXmeiIigaAsDWkmxpuVv8AePY3zz9i31Ma2+fgt9CPpVFSMY48MfeU6faRn2p2oy\/3U3rdH0NtpYv2IWN8AEXSigXpWVgiIh0IiICYsZdBrG8UxP1mJfPI\/iVOpiUOpfyhRPO5tVTkZI3HAO4fuhU6nPczNs2SlHg38hERQNIXLcLhS2yldUVUoYwcBzceoDmV5Xa80lnpjNUvy4\/QiB9Z57PisOgs9Zf6tl1vfqxDfBS43Y5Z7PM89ynGO96GepVaeCnnL8d580VHV6qq23G5NMdvjOYKf9rtPX7efsVY1oa0NaAABgAcka0NaGtAAAwAOS\/VyUrkqVJU1xb1YREUS4Ii\/HODWlziAAMknkgJi4H03XdBTgjZpYjI7sO8\/wAqqFMaVa6vuNxvb2kCd\/RxZ\/ZH\/ZvgqdTnk0uBm2bOLn9zv4aIy9QWr5WtckLAOnZ68LuGHDlnt4Lx0xdzdLaGTO\/S6f1Jgdx7D+OeVtKVvlLPY7o2\/wBA0uiccVcQ4EHn3+Rx1rsessJyrenPpVpv7uPgVSyNVf8Alqt\/\/I\/iC0aSrhrqSOqp37cUgy0rL1c\/Y01VY4u2R\/zBRj2kWVmnRk1wf4MGG1Vdtt1HfLOSX9A01EHEPGN5x9neFUWi80l5phLTuw8AdJET6zD+Oa+rKwx2ShaRginZn90LKu2nXw1HypZPmKxhy6Mbmyde78Aqbak7MzwhKjFSgrrevdfBRosSyajjuTjTVbPRK5hw6F+7a9md\/cttVtNOzNcKkakcUWERFwmfjnBrS5xAAGSTyUxpsi63u43o5LNroYNocB9m7Hj49mqrmaO2+i07s1dWeijaDvAO4n7PaV22S3C12mClxh7Rl+\/PrHefgrFlG\/Eyy\/qVlHdHN9+471Na2jc2301dGPXpZ2uz1A\/1AVKs6\/0prLFWQNaXOMRc0DmRvHmFGDtJFm0Rx0pI6S2G40GHtD4aiPeDzBCm7HPLYLu+w1biYZDtUshHHPLv9\/tWppSq9K07SknLowYzv4bJwPLC\/dQ2Vt4oh0Z2KqH1oX889Xf5KSybi9CqSc4RrQ1XrxRrop6x6hknn+TLrGaevZuG0MCT+vkeSoVCUXF2ZfTqRqRvEKXr81+u6KBuCyjj239h3n+X8YVJUTx01PJPK4NZG0ucScKd0lA+qnrb3KMGreWx5bjDQd\/dwH+VThkmymv1pRprjfwRTIiKs1HHT09XHX1M01X0sEmOii2cdHjjvXYiI3c4lbJBERDpMawiNO6gvEbcupJgH4G8tJyPMY\/zKljkbLG2Rhy14DgesFcV6ovlGz1NKBlzmEswP1hvHmFw6Qr\/AEyxRxuJ6WmPROBHIfR8sDuVjzh3GVdSu19yv4o3VkXzUFPZ4tgDpqt+OjgbxOeZ7F532\/i3kUVE3p7hLgMjAzs55n4L4senPQ5jcLhIam4Sby5xyGezt7fBcUUleR2dSUpdHS13vh+zwtOnpaip+Vb4emqnHLInb2xjlkfZyVKiLkpOTzLadKNNWQREUSwIiIAsLV9eaSyuhYC6WrPRNAzwPHy3d63VJxuN\/wBZ7bd9JbBuPIvz8fJqnBZ3e4zbTJ4MC1ll8+hvWa3i2WmnpAAHMbl+ObjvPmu5EUW7u5fGKilFbgvmSNksbo5GhzHgtc0jcQeIX0i4SI9sk+jbi6N7Xy2moOWkbzG747u\/yXvqy4wVlrp6KjlZPJWyNDNhwOQPdvICpZoY6iF8MzA+N4w5rhuIWdQ6btluqzU08BEn6u04kN9itU1e71MUqFRRdOD6r9O40aeIQU0UIxiNgbu7BheiIqjalbIyL1p2lvHzuTBVNHqTM49metZbL7c7BK2nv0JmhccR1UWDn2\/gH2qrXxLFHNG6OWNsjHDDmuGQe5TUsrPQzzoZ44Oz9H3o8KW50NbEJaaqikaep2CPaDvC4bnqa3W2M4mbUzZw2KFwJz29S8ajRtmneXthfDtcRG\/d4HOO5ddBp6120tfBSMMjeEj\/AFnD2E8O5d6hH+4eVkuf6M2y2uqrrkb9dWlspHzEJGOjHaPd4qlRFGUrsupU1TjZBfhAIwRkFfqKJYTGiSYqauoyd8FSd3IbsfdVOpixD0bV15pjxkIl88\/fVOp1O1czbL\/iS4XXqZl6sdPeYGh7jFPGcxzNG9vxCyIrlqKzF0Fdb33CFu5k8Z9YjtxnzAKqkRSysyU6KcscXZ\/7qSczrzqjZpjSPt1ASDI5\/wBJ+OW\/HuVPTU8dJTRU0LdmOJoa0dgXqi45XyO06WBuTd294REUS4IiIAiIgCgq6rqbRqespbS+Nzq8tbj9h5PgDknxW1fL5PJU\/I1m+crH7pJG8Ihz39fby9vDzfo6FlkdBC8muB6Tp842njl7P+6uhaOct55+0OVZ2pfx3+y5nbYNPR2pnpFQ7p66QfOSk5xnkPjzW0sXTV5ddKR0NT6tZTHYladxP+LHv7VtKud75mqhg6NdHoERFEuCIiAIi5LncYbVQSVc\/wBFm4NHFx5AIlc5KSirsytU3aSmp222iBfW1Y2Q1o3hhyCR28vHqWhZLTFZrcymZh0nGSQDG278bllabts9RM6+3ME1cxJhB4MYRyHLie72qlVknZYUZqMXOXSy8OS\/YREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAmJP0P8oUbiN1bT4z2gf6AqdTGsg6mkttzb\/7afB9hwfunxVMCCMg5BVks0mZqPVnOHO\/mfqIirNIREQBERAEREAU9fb1M6f5HtGZK6Xc97TuiHPf1+5dmorsbPanzswZnkMiBG7J59wBXjpmyC1UPSzDarKgbUrnD1m5\/V+ParIpJYmZaspTn0UPF8F8s97HY4LLTbLfnKh++WU8XHqHYtREUG23dmiEIwiox0Jm\/wBsqKKsbfrW3E0e+ojHCRvM\/HxWzarrTXejbUU7ux7DxYeortU5cdMyRVJuFin9Eqs5MecRu7seR3exTTUlZmeUJUpOcFdPVe6KNFMRaufROZT3ugmp5cb5Gty13aB8MrQGq7GRn09m\/wDwO+C44SW4nHaaT\/lbvyNdFP1WtLRAQ2J8lS48omH7cLmNbqS+epR0vyZTnc6WU+v3bs+A70wPfkRe009I9Z8szYu18obPCXVEgMhHqwtOXO+A7SsWitdw1DVMuF79Slb60NINwPt\/rvPsWhbNLUNvkFRMXVlVnJlm37+sD45K213Eo9k50c6rvVyXD5PwAAYAwAv1EVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDJ1RS+l6eq2AZcxvSD\/ACnPuyvvTtUKuwUcvMRhh9rfV+xaE0bZoXxO+i9pafYVO6Glc6yyQuzmGdzfIH35VizgZn1doT4p+hSoiKs0hERAEREAREQExfWG4aptVuOOiZmZ+Hbzjfg\/u+ap1yVFtpamtgrJYyZqf6BBI8evn4ldak3dJFNODjKUnvYREUS4IiID4lhinjMc0bJGHi17QQe5cRsNoJybdTkn\/wCsLQRdTa0IuEZao5qa30VGc01LDEetjACulEXDqSSsgiIh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAKY0uDBer3S4w1s+03s3u+zCp1MWr1ddXVnDMQOOv6O\/wA\/NTjozNWyqU3z9mU6IigaQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIuW4w1VRQyRUdQKeZ2NmQjON+\/yWF+b1+dvdqKQHqaDj3qSSerKZ1JRdoxb8inRTH5r3Y5J1PVgnjgO\/nT82723c3Uk5HW4Oz\/ABLuGPEh0tX\/AI35r5KdFMfImpWfV34Oxw2mnf709F1lBvFfSVA5AtA+6PemBcR08lrB+nyU6KY9K1lBuNBSVA5kOA+8Pcn5w36D+0adkk5fNE8e4FMD3D6mK7Sa8GU6KXGt4ov7Xa6uEczgH34XTBrSyzY25pISeUkZ+zKdHLgdW1UX\/L2N9Fx093t1X9RXQPPUHjPguxRasXqSlmmERFw6EREAREQBERAFMWn5\/XN2qBwZGI\/4R91at5vVNZ6R0kr2mYtPRRZ3vPLu7VxaVoJ4aee4VgxU1z+kcMY2Rk49+fBWRyi2ZajU6sYLdmzfREVZqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC5am20NWCKikhlzzcwE+KIl7HGk1ZmbPo6yTZIpnRE845CPI7lx\/mWac\/8Ah94q6YZ3b8+3gQiKaqS4lD2Wi88Pll+D9+QdRR\/V6gLufrg8fNPQtYxfRudLKOpzRn+FETGzn00dza8WC7WbMHo6R\/Zu+ITp9Z\/\/ABKPxH8yImPkh9P\/AN5eY9O1n\/umj\/fH\/UT07Wf+6aP98f8AUREx8kPp398vT4HpGszv9Co255ZG7\/mT0bV1bhstVT0TD9LYAJA7MZ94REx8kPp+M35nRbtKU1NUCrrpn19Tx25d4HDkc5W+iKLk3qWwpwpq0UERFwsCIiAIiID\/2Q==",
    "razonSocial": "MADERO COMUNICACIONES LTDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "FLAVIO MAGNATA",
    "correoContacto": "flavio.magnata@madero.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "13",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56979760012",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:20",
    "ubicacionGPS": "LatLng(lat: -23.6378327, lng: -70.3954129)",
    "horaLlegada": "15:00",
    "horaDespacho": "15:19",
    "idMovimientoMaquina": "2",
    "idEstadoRetiro": "2",
    "observacionRetiroMaqExterna": "Maquina imprime con manchas y cortado",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 15:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:19:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76079600

[12/06/2026 15:19:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76079600', 'BR2174', 1, 19969062, 0, NOW(), 
				'15:19', '15:00', '15:20', 2, 'Retiro maquina brother
Firmado por Flavio magnata', 2, 
				'Maquina imprime con manchas y cortado', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781291987.png', 'Retiro maquina brother
Firmado por Flavio magnata
sin contador', null, 'COMPLETADO','LatLng(lat: -23.6378327, lng: -70.3954129)' )
				
[12/06/2026 15:19:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200707

12/06/2026 15:19:47 sql cambiarestado: 
				UPDATE llamados
				SET pendiente = 'NO'
				WHERE rut = '76079600' AND 
				serieinterna = 'BR2174' AND
				correlativo = 1;				
		
12/06/2026 15:19:47 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '76121841'
				   AND serieintmaquina = 'BR2174'
		
12/06/2026 15:19:47 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'BR2174'
				   AND estado = 1
				
12/06/2026 15:19:47 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET facturada = 0
				 WHERE serieintmaquina = 'BR2174'
				  AND rutcliente = '76079600';
				
12/06/2026 15:19:47 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('76121841', 'BR2174', 1, 1, now(), 'DSPRINT', 'ANTOFAGASTA', 'TALLER');
				
12/06/2026 15:19:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200707'                    
				WHERE idllamado = 13009			
				TO ENVIO: micorreo@miempresa.cl, flavio.magnata@madero.cl, khapo73@gmail.com


12/06/2026 15:19:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13009			
				
12/06/2026 15:19:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 15:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:50 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

[12/06/2026 15:19:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:50 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:19:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:19:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:51 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:19:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13009
            GROUP BY l.idllamado;
            

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:19:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:19:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                

12/06/2026 15:19:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13009
                
[12/06/2026 15:26:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 15:26:06 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 15:26:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 15:26:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 15:26:08 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[12/06/2026 15:30:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 15:30:26 - INPUT: {"rutTecnico":"7373114"}[12/06/2026 15:30:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 15:30:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65195060
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 09/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 02/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => STUDIO 2010AC
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 51064970
            [ModeloMaquina] => STUDIO 6528A
            [FechaLlamado] => 02/06/2026
        )

)

12/06/2026 15:30:29 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:30:29] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:30:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:30:40 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:30:40] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:30:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:34:08 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:34:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:34:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:34:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:34:10 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:34:10] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:34:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:35:00 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:35:00] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:35:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:35:01 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:35:01] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:35:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:35:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:38:14 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:38:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:38:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:38:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:38:18 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:38:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:38:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:38:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:19 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:38:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:38:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:38:22 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

[12/06/2026 15:38:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:38:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13001
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL ADF
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 15:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2943
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:38:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:38:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:39:35 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 15:39:35] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/06/2026 15:39:35] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 15:39:35 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 15:39:36 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 15:39:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:39:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:45:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            
=========================================
FECHA: 12/06/2026 15:46:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FdFY7LBkut5g3Cne.6Jdrf7CO1CthiBTE0.jCH9cHl6X+AC+6tm
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2943",
    "correlativo": "1",
    "ddServicio": "Faena",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "735108",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace cambio de rodillos de albmentación de ADF y bandeja\n•Se hace limpieza de fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13001",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACrASsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABEEAABAwMCAgcEBwQIBwEAAAABAAIDBAURBiESMUFRYXGBkaETFCKxFRYjMsHR8DM0QrIkJlJiZHLS4Qc1Q2OSovGC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECAwUGBgIDAQAAAAAAAAECAxESITEEEzJBYSJRcZGh0RQjgbHB4TPwJEJT8f\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIihdUXd1rtobAT7zUHgiDeY6z8vMKUm3ZFKk1Ti5PkR0+qaifU8Nvt7WOhEns3lwzxHO5GDyAyrWqJoe3B11nqyQ9lM3ga4DYuPMjwz5q9rSoknZHNscpzg5z5sIiLI7AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC+eXi5fSNwq7kMOp6QexpsnZzzyPbj4neDcq0asuJt9il4H8Ms\/wBkzr35nyz6KvUltZLd7dZgXcNGz3iqwCMyHBI\/lbn8VvTVliZ5u2Sc5KnH+t6e5aNO276MssEDmcErhxyjp4j192w8FKIixbu7noQioRUVyCIigsEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAERYve2NjnvOGtBJPUEBVrxMy4asp6Z7\/wCjW6M1E+dxkb7\/APrz6ytmjY31Pv13mHx1UpA+LOAN\/mceCgDUzyW6rqmMzU3ip9jG0HcMByQB3kN\/W98ttE23W6CkZjETACR0npPnlbz7MbHmbP8ANq4\/r55L0+51IiLA9MIiIAiIgCIiAIiIAiIgCIiAIiIAi5au50NCD71VxREDOHOGfLmsqavpKynZUQTsfG8Zac49Cps9SuON7XzOhERQWCIiAIiIAiIgCIiAIiIAiIgCIiAKG1ZVe66dqcZ4pQIxg9fP0yplU3\/iDU4jo6UE7l0jvDYfMq9NXkjm2ueCjJnPpilFfeIH8RMFthAbw\/dLzkn1Lj24HQr0obStuFvscOWkSzj2smRvvyHlhTKmo7yI2SngpK+rzCIizOoIiIAiIgCIiAIvCQBknAC4am92ukyJq+BpHNoeCfIbqUm9CspRjm3Y70Vcn1xamEtgZPUO6OBmAfPf0WsXnUdyHDQWgUrSce1qDy7RnHyKtu5czB7VS0i7vpmWYkAZJwAo2t1FaaAls1ZGXjmyM8R7tuXiolumLpcDm8XmRzHfeih2B\/AeSkqPS9no8FlGyRw\/il+P0Oym0VqyMdefDG3j7IjnasrK7LbNaJp+qWUYaPL8wvBa9T3L9+ubaOMn7kH3ufZ+ZVoAAGAMAL1MaWiG4cv5JN+i9CApNGWimdxyskqX5zmV23kMZ8VORRRwxtjijbGxow1rRgDwWaKjk3qbQpQp8KsERFBoEREAREQBERAEREAREQBERAEREAVHudMb7rptKPiip2tEh2wGjc+rseKudTUR0lNLUzO4Y4mlzj2BVXRD31lbc6+XJdK5u5PWSSPktYZJyOLabTnCk+bv5FvRF4XBoy4gDrKyO09RRdVqSz0e0ldG49UZ4z6KMOsxUOLLZaqqrd14xjyyrqEnyMJbRSi7OX5LOirHverq3HsaKnomHcOkIJ8ck\/JYnTV5rAPpC\/SYxhzIQcH5D0U4EtWV38nwQb9PuWKoraSkGamphh\/zvDfmoep1nZoAeCZ87uqNh+ZwvKfRVnhOZWzVDuZMknT4YUtTW2ho8e7UkMRHS1gB807C6j\/Il3L19iB+s12rP+W2KUtJ2klzg\/IeqGDWNdu+opqFp\/hbjPpn5q0ImNLRDcSfHNv0+xV\/qbJU5+krzVVOTnAOB6krvptJWWmA\/oglcP4pXF2fDl6KRq6+joGcdXUxwjGRxuwT3DmVBTayjml9jaqCeufjOQ0gfIlSnUloZyhs1J9pK\/mywQUtPTN4aeCOIdUbA35Laqxw6xrQHcdLQtJ+7sTjyctVJXXmh1HBbaytirTMOJ7WAD2Ywewd+OoKMHUutoSssLSeWhbERFmdQREQBERAEREAREQBERAEREAREQBEWEs0UDDJNIyNg5ue4AIDNFC1erbNSEt969s4dEI4vXl6rg+tNyrtrVZJXtIy2WXPD+XX0q6hJnPLaaSdr3fTP7FpWLnNY0ue4NaOZJwAqyKTV1ePt62ChYebWY4h5Z+a8+psLmGa6XSqqi0Ek5xjzyetThS1ZXfVHwwf1yNGsr3STUUdBT1LJPayAyujdxBjR3dvyUbpm8zW6kmgo7bNWTSScXw5w0YGM4Het1htNNNFc7qadppo2yNpmP3GwznfqGN+09Sm9G8EGmWSPc1jS97nOOwG+Nz4LV4YxscMFUq1lUbtdPyXiaD9cLhy93tzM9hJ\/m\/BBow1J4rpdqqqIOQAcAeeVvrNZW6B\/sqRslbMXcIbENj49PhlctJqe5yXino6ugip2z8mEnjHPGd9vEbqvbtkrGz+HxWlJy9V6ZEtS6as1JvHQRuOc5k+P55Um1rWNDWNDWjkAMALJctdcqK2x+0rKhkIPIHcnuA3Kxu5HcowprJJI6kVZfq6SrkMVmtk9W4HHG4YaOo\/\/cLz3TV1wyZ6yCgYebIwC4d2M\/NWwPnkZfExfAnLw9yzoqx9V7rJ+21JVEf2Wh2\/\/sso9KVUEgmivtUJh\/E4ZB8CUwx7xvav\/P1RN19zo7bF7SsqGRDoBO7u4cyq6\/UF2vbzDYqMxRZwamUcvwHqV1Uej6VsoqbnPJX1B3cZD8PlzPifBWBjGRsDI2hjWjAa0YAU3jHTMrhrVeJ4V018yvUGj4Gy+9XWd9fUHc8ZPD+Z8fJT8MENNEIoImRRt5NYMALNzg1pc4gADJJ6FV6+91V7qXWuw54eU1Vya0dh\/Hp6E7U9SXutnWSzfmzqveo\/dpvo22s94uEnwgN3EZ7e39FbLBYBbQ6rq3e2r5t5JCc8Oegfmuiy2KlssJEf2k7\/ANpM4fE78h2KTUOSStEmFKUpbypryXd+wiIqHSEREAREQBERAERYSSxwsL5ZGsaObnHAQGaKHqtV2WlyDWNlcOiIF+fEbeqjzq2qrTw2izzzjOPaP2b6eHSrqEnyOeW00ou17vpn9i0LXNPDTsMk8rImDm57g0eqrfuWrLiT7zWQ0Ebgcsi+8O7H+pbItE0Rf7Suqqisk6S9+M\/j6qcMVqyN7UlwQ88v2dNXq+zUuR7yZ3AfdhaXZ8eXquL603Ktdw2yxzPaRtJLkD8uvpU3S2a20X7vRQsI\/i4cnzO\/Su1LxWiGCvLilbwX5ZVxR6uuA\/pFbDQsPNseOIeX5rKPRNM9\/tbhXVNZJnJJdgHv5n1VmRRvHyyHwtN8V34s4aSyWyhwaaihY4cnFvE7zO67kWitlmgo5ZaeH28rG5bGDji7FXNs3SjBZKyN6rGsrr7KBlrp5WNlqP2pc4AMZ29WfwK0VcmqZaaSpq54LZTMbl4YOJwHZjJz4jwXNpvTbLrEbndnSzGR3wNc45eB0uJ3PRjB6FrGKj2mzgrVp1flU4tN9+WRskvsTLQbVY6OSqjjhLXzlha0DHxO9Sd8LRp\/Tj7xaoZKuvlFIHO4KePbfPPPLn2K21dNFBZ6mCniZGwQPDWMAA+6VHaLIOm4QOh7wf8AyKnH2W4kbi9aMajvlpouRtqzbtK2iSanp2MP3WDpkd0AnmVW7XeKKgllutZI6tudSMiKIZEY6s8uWOWcAYVuu9to7nRGKuPDEw8fGHBvDjtKi23DS9gL\/dnQiQ8\/Y5kd3cW\/llRFprS7LVoSU07qMVp\/4aTUapvLT7vTx2yB42dI748fP0C6KTR9GyQVFwmlr6jpdK48Pl0+JK0HVlbW7WmyzzDIAkkHwjvxt6oKDVdxwaq4R0EZ5sh+8PL\/AFKe0uhVbuTvZzfp+EWJzqajiHE6KCMcskNAXBUanstN9+4RuP8A28v+WVHw6HoM8dZU1FVITklzsA\/j6qSp9OWam\/Z2+E4OcvHH\/NlU7C5nRfaHokvX7EZJrq3l3BTUtVO7G2GgZ9c+i8Gor3U\/umnpWjodKSB6gKyxxsiYGRsaxo5BowAslGKPJE7qs9Z+SX7Kx9I6xfkss9KB1OcM\/wA6wmq9XQxOlnio4Y2Alzy4YHqVZKmqgo6d09TK2KJnNzlVm+96yq8uD6e0Qv5cnSkfrw71eLvnZWMKsXHsqbcnyv8ArQjmVOpNUU0kEZb7uD8TwOBr+zPT3KSooNUWimZT0ltonsA3w4ZJ6yeIK1U9PFSwMggjEcbBhrW8gtih1OSWReGyW7UpvF3lYOob7SjjrbC8sBw4xEnHb0rpo9YWqqeI5XPpJM4InGAD3\/nhTy4rhaKC6R8FXTseeh\/Jw7iN1F4vVF93Wjwzv4+6Oxrg5oc0ggjII6V6qe5lXoyrjc2SWptMhIc084yf12Z3VtiljnhZNE8PjeA5rhyIVZRtmtDSlVx3i1ZrkZoiKpsEREAREQEBcaDUNbXytp7jHS0eRwcI+PkM8h156Vpj0TSyP9pcK6qrJM5Jc7APzPqrKivjktDnezU5O8s\/EjqWwWmjIdBQQhzTkOc3iI8TkqQAAGAMAL1FVtvU2jGMcoqwREUFgiIgCIiAIuWsuVFb2cdXUxxAnABO58Oartdrymja4UNM+Y8uOT4Wg9G3M+itGEpaIxqbRSp8TPdRyuvV2pbDSyDgDuOpc0j4ezwGT3kKwTVlBa6drJp4aeONvC1rnY2A5AczsqhatO36pD6l9Z7mKvD3vzmRwOTyHfyyFN0mjbZC\/wBrUmWsmJy50ztie788rSSisrnJRlWk3NRzff3cupz1esqWbjprdRz1z3gtHCwgHI6uZ8lD6b+sFRQPpbZNDTwxyHjfIPiBONsYPyV6gpoKWMR08LImD+FjQAq5Z82\/WVzoXEBlSPbMHWeeB\/5HySMlZpIVKc95CVSWuWWR63Rrqoh91utRVOHJoOANu3PZ1KVpNP2mhIdBQxcQ3DnjjIPec4Ukio5yfM6obPSg7pZ+Z4AAMAYAXqIqG4REQBaKysgoKSSqqX8EcYyT+AW5zg1pc4gADJJ6FUZXP1heHU7XltqpHZLmj9o7lz8\/DvVoxvroY1qrgrRzk9BBR1mr6kVddx09tjdmGEbGTt\/38lbIoo4YmxRMDGMGGtaMABesY2ONsbGhrWgBoHQFkkpX8BSpKGbzb1YREVTYIiIDTV0sVbSS00zeKOVpaQoTRM0kliMUmfsJnMbnq2PzJUjfLmy1WqWpcfiI4YxnBLjy\/PwXLpO3vt9hibIMSTEyuHVnGPQBaLgZyyz2hW5J3\/BNIiLM6giIgCIiAIiIAiIgCLGSRkTC+R7WNHMuOAFCVusLTSHhjldUv2+GEZ9eSlRb0M51IU1eTsTq1zTw00RlnlZFG3m55wAqz7\/qm7HFHRMt8JJxJN97GO3fyCzg0a2aQTXeumrZMY4eIgDx5\/JXwJcTMd\/Kf8cb9Xkvc3VmsqCGX2FFHJXTkgNbEPhceoHp8AVzObqq8ggmO1wE52J48eG\/yVipKCjoGcFJTRwjGDwNwT3nmV0JiS0Q3NSf8kvosv2QFHo62wPMtV7StlJyXTO2z3Dn45Uc2niv+o\/do4GttVuJBawcLHv6sDbn6DtUlqq5y0lGyhpAXVdaTGxoG4HInsO+3+y7rJao7PbWUrSHP+9I8DHE4\/rHgrYmlibMt1CU93BZLN\/hEgiIsTvCq+qmut9yt97j29lIIpcDJLTn8OIK0LkudBHc7dNRyHAkbseo8wfNWg7Mxrwc6bS15eJ0se2SNsjHBzXAFpHSFkq3pW4yt9pZK74aqj+FuT95g6u75YVkSSwuxalUVSCkgiIqmgRFDaivf0RStZA0SVk54Yo+Z78KUm3ZFJzjCLlLQ4dRV81xrWaetzhxzfvEgOzG8yPIb+XSp23UENsoYqSAYbGME9Lj0k964NOWT6Ho3GYh9XMeKV\/Mj+7npUyrSa4VoY0YSbdSer9F3BERUOkIiIAtc00dPC+aZ4ZGwZc5x2AWNXV09DTuqKqVsUTebnfrdVV7q3WVS1rGup7RE\/JcdnSkfruCvGN83oYVa2Dsxzk9F\/eRlTRyasvRq5myC1Ux+xYdg9wx\/ufIK3LXT08VLAyCCMRxsGGtbyC2KJSuTSpYE2829QiIqmwREQBFA3H60e+ye4+6e7\/wcXPxyub+uf8Ag\/RXUOqOd17O2F+RZ14SAMk4AVZ\/rn\/g\/ReO0tcLjKXXi7vljD8iKIYBHyHkmBc2Rv5Phg\/rkddw1da6LiZHIaqYHAZFuM\/5uXllcYuGqLrkUdAyghdsJJ9nDz\/AKbt9mt9rB9zpmRuPN\/Nx8Tuu5TiitERuqs+OVui9ysx6QdVPEt4uU9W\/OeBp4Wg9P6GFNUVqoLcMUlJHEcY4gMuP\/wCjuuxFVzk9TSFCnB3Sz9QiIqmwXBeLtBZ6B9TKQXYxGzO73dAXc5wa0ucQABkk9CqdvB1PqJ9yewmgpPgha4DDnc9\/E58leKvm9DCtUcbRjxPT3+h0abtdRNM693XL6ub9k1w\/Zt68dH5d6sqIolLE7l6VNU44UERFU0CIiAr+o7LNUvjuduJZXU+4A29oB0d\/\/wAXZY73DeKbOPZ1Me00R2LT1jsUooC96abWzG40Mjqe4MwWuacNeR19vatE01ZnLOEqcnUpq99V+V1+5PoqvDqupoH+736gkgeNvbRty1366wSpumvNtq2cUFdA4YzgvAI7wdwquDRpCvTnknn3czO418NsoZauc\/DGNhndx6AFBadoJrjWv1DcWjjm\/d4yNmN5A+Q28+lc0fFrC9CUtxa6J2AD\/wBU93b6DvVva0NaGtAAAwAOhWfYVuZlH588f+q06vv9j1EXhcGjLiAOsrM6z1FFVepbPRD7Stjc7+zF8Z9FGP1XVV4cyy2qaY8hJIMNHgPzV1CTMJbRSi7Xz6Zlnc4NaXOIAAySehQFw1bSRONPbWmvqieFrYwS3Pf0+HouVum7pdS2S+3Ilg393i2A8ts+BVgoLZR22L2dHTsiHSQN3d55lTaMdcymKtU0WFddfIgKXT1ddqkVuoJc4+5SsPwgdvV4b9qs0UUcMTYomBjGDDWtGAAs0VZSbNadKNPTXv5hERVNQiIgCIiAIiIAiIgCIiAIiIAiIgK1qqvmndHYqAF1VVY48cgzfb0z3DtU5b6GG20MVJA0BsbQCcY4j0k9pW0wQmcTmJhlaOEPxuB1ZWxWcsrIxjTtNzk7t+iCIiqbBERAEREAREQGEsUc0bo5Y2yMcMOa4ZB8FWr1oynq2xm2xw00nF9oSXYLcdA3GfJWhFaMnHQyq0YVVaSKs3RRg\/c7xVQDox\/sQsvq1embM1LUEf3g7\/UVZ0Vt5Iz+EpLRW+r9ysfVu9u2dqScDraHZ\/mRuh6WR3HW19VUv6y4D55VnRRvJD4WlzV\/FsiqTTVnoh9nRRud\/al+M+qlAABgDAC9RVbb1N4wjBWirBERQWCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "LIDIA AMARAYO",
    "correoContacto": "l.aramayo@schwager.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "PROBLEMAS EN EL ADF",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R790\",\"id_control\":\"29003\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-R734\",\"id_control\":\"29003\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "15:47",
    "ubicacionGPS": "LatLng(lat: -23.4366087, lng: -68.8267979)",
    "horaLlegada": "15:19",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 15:46:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:46:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[12/06/2026 15:46:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO2943', 1, 24456550, 735108, NOW(), 
				'08:00', '15:19', '15:47', 4, '•Se hace cambio de rodillos de albmentación de ADF y bandeja
•Se hace limpieza de fusor', -1, 
				'', '','1','0',
				'0',2,'../csj.digital-service.cl/uploads/firmas/firma_0_1781293593.png', '', null, 'COMPLETADO','LatLng(lat: -23.4366087, lng: -68.8267979)' )
				
[12/06/2026 15:46:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200708
[12/06/2026 15:46:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200708', 'TOS-R790', 1)
				
[12/06/2026 15:46:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29003 and
				    IDproducto = 'TOS-R790'
				

12/06/2026 15:46:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R790';
                [12/06/2026 15:46:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200708', 'TOS-R734', 1)
				
[12/06/2026 15:46:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29003 and
				    IDproducto = 'TOS-R734'
				

12/06/2026 15:46:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R734';
                
12/06/2026 15:46:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200708'                    
				WHERE idllamado = 13001			
				TO ENVIO: micorreo@miempresa.cl, l.aramayo@schwager.cl, khapo73@gmail.com


12/06/2026 15:46:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13001			
				
12/06/2026 15:46:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 15:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:35 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:35 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13001
            GROUP BY l.idllamado;
            

12/06/2026 15:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:35 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13001
                

12/06/2026 15:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:39 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:39 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:39 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:42 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

[12/06/2026 15:46:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:42 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:42 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:43 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

[12/06/2026 15:46:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:43 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:43 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:46 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:46 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:46 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:48 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

[12/06/2026 15:46:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:46:48 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:48 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:50 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

[12/06/2026 15:46:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:50 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

[12/06/2026 15:46:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:50 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:46:51 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:51 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:46:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:51 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:54 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

[12/06/2026 15:46:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:54 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:46:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12769
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 4518A
            [SerieInternaMaquina] => TO2245
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:46:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:46:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                
=========================================
FECHA: 12/06/2026 15:47:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GZLUZJkoHHMl2kWu+LO.caLXEC83yBTWr0_DIPf9Cm+xzoGowAZ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2245",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos, sin contador, recibe Nicolas Godoy",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12769",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkAT0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABGEAABAwMBAwkFBgUBBQkAAAABAAIDBAURBhIhMRMiQVFhcYGRoRQVMrHBFiMkM0LRJTRDUuFiB1PC0vBUY3JzkqKy4vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAyEQACAQIDBQYGAgMBAAAAAAAAAQIDERIhMQQyQVGhEyJhcZHRFDOBscHhI\/AkQlJi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREBR6qvE9noIZabYMj5gMPGQQASenuVvTSmalilIwXsDiMY4hZL\/aDN93RQDecve7sG4D5laWzO27JQuJyTTx5PbshaNdxM5KdRvaJwvkkiaiIszrCIiAIiIAiIgCIiAIiIAi8Lg0ZcQB1lQp73a6bPK3CnBHQJAT5BSk3oVlKMdXYnIs9U62s0GRG+WoP\/dx4+eFw+1Vwqxi3WKeTJ3SSZ2fQY9Vbs5cjF7VRTsnfyz+xqF8veyNhfI4Ma0ZLnHACzJbrGvPxU1A09AwTj\/3fRes0hJVStku90nrNk52ASG\/46eCnClqyO2nLcg\/rkT3aptXt0VHFOZ5JXBoMTdpoJ4b\/wBlcKHQ2mgtrQKSljjIGNsDLj3nipiq7cDWmqlu\/b6BERVNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAwesg6tvb4mnm0lLtuG7r\/yFq9PkO0\/Qkf7lo9FmIme8ZdT153hsbo2E9IGfoxq0GlJOV01RnOcNc3ycQt57iXI83Zs67n\/ANX6OxcIiLA9IIiIAihVd4t1CSKmthjcOLdrLvIb+lU82t6Ev5OipqirkPANbgH6+isoSeiMZ16UN6RpUWX946quH8rbY6KMnc6Y84ef\/Kn2avFdk3O+SEE744c7J+Q9FbBbVlPiHLcg30+5e1V1t9FkVNZDE4fpc8bXlxVPPra2tcI6SOerkduaGMxk+O\/0Xal0dZqYgmB85HTK\/PoMBW9PSU1IzYpqeOFvUxgb8k7i8RbaJcVHr7Ge9+airDiisXIg8HVBPDr37K8936srRmoucNI0n4IhvHkPqtQijHbRD4dvfm30+xmBomOdwdX3SrqnDpJx88qdT6SslOB+DEjh0yOLs+HD0VyiOcnxJjs1GOeH8keCgo6XHs9JDFj+yMBSERUN0kskEREJCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCj11QKSgnqXODRFG52T2BSFQazqvZ9PSMDsOne2MeeT6BWirtIzrTwU5S5Ij6Woz9kptrO1Vco7J7tn6LtomTb06xuPglc36\/VcYtSWe02unohK6pkZE1jmQDOTjfvzjj1FU2maq\/GgfS2qniMfKkumk\/QSB2+PArZxbTbPOjUhTnTSzaTWWfI35IAyTgBVdbqS0UAIlrGPeP0Rc858OHiqv7LXC4kPvF4lkzvMUW5o7uj0VrQ6btNv2XQ0jHPbv5STnOz17+Hgs7QWrudeOvPdjbz9l7lSdU3K4nYs1okeCccrMN3DyHmvo2TUF0GbndRTxu4w0\/Ueg4x9VpwABgDAC9THbRD4dy+ZJvouhR0ej7PSYLoDUP8A7pnZ9OCuIaeCmZsQQxxN\/tY0NHouiKjk3qbQpQhuqwRFxnqqelZt1E8cTet7gFBdtLNnZFRVesbPTEtjlfUvzgNhbn1OAon2mu9YB7vsMuDwfKTsn0A9Vfs5GD2mknZO\/ln9jUIswabV9eMy1dPQtPFjN58xn5rwaQqpsmsvtVLk7wMj5kqcK4sjtpvdg\/rZGnLg0ZcQB1lcjV0zTh1RED1F4WfGhLaTmWpq5D2vb+y6t0RZgMFs57TIotDmMdd\/6L1\/RbyXS3xNLpK6naB1yt\/dQZdV2OEkOr2uI\/sY53qBhcho2xg5NK53XmVwz5FTYbDaIG7LLdT463Rhx8ync8R\/kPkvV+x2obnRXKMyUc7ZWjjgEEeBUpZQwQUevKaG3xMhaac8s1jAG9J8Ojh2dq1aiSS0L0akpp4tU7BERVNgiIgCIiAIiIAiIgCIiAIi8JAGScAID1FUV2qLRQ5D6oSvGOZDzz58PVVp1FeLo0ts1pe1jhunm3Dtxnd6lXUJM55bRTi7Xu+SzNQSAMk4AVLXattNESxsxqZM42IBtb+\/goLdL3C5OL75dJJATkQwu5o8xjyCuqGx2y3YNLRxteODyNp3md6m0VrmVxV57qwrx19ClF11Ldh\/D7eyiicN0s5yfX9iqivtFVNqGht1wuUlXJPz5AM4Y3pAzuHA\/sv0BZayH3nqy5XLeY4AIY8gjs\/4T5q0ZatIwrUbuMZSbbfTV5F1RWW227BpaSNjh+sjad5neqfR\/wB1V3il4CKp4dW9w+i06yNsrKa1anvTaqdkTHkSbROBxzjHSecqxu0zWqo0502sld\/Y1y+ZJGRML5HtY0cS44AWam1bNWEw2O3zVUmcGR7OY3t\/\/cL4h0tWXKUVN\/rXyniIIzub48B4eaYLb2RZ7RidqSxfb1JdVrK1U8pjjdJUbIy50TcgePSo\/wBvrV\/2es\/9Df8AmV7RW2jt0XJ0dMyFvSWjee88T4qUovDkTgrvNzS+n7MwNdUMm6Ciq5HdWy0fUrw6ivtUPwVgkZ1Omzj6fNahExR4IdlVetT0S\/ZlvYdWXEfia6KgjI3ti+IeX7rtT6Jt7XGStmnrJDxL37I49m\/1WjRO0fDILZaess\/PMiUtroKH+Wo4YjjG01gz58VLXxJNFC3alkZG3rc4AKDPqC0U\/wCZcYOOMMftfLKrZs1vCmrZIsUWem1vZ4ziIzzno2I8Z88Lj9spJf5WyVkw6N2PkCrdnLkZPaqK\/wBvyadFmPtDfpt0GnZGE8OVJ+oCe9NWDH8Fh3\/6v\/snZsfEw4J+jNOviWVkMT5ZHBrGNLnOPQBxKzfvjVLN77HGR\/pd\/kqou+obtcoZbT7v5OU75GxZe7ZG\/GBw7VZU22UntkIxvZ38mWumGyXO6V1+mYA2U8nCDxAH+AB5rUrJ0erKO3U0dNJbKumhiZsjaGTu6N+OlXlBfbZcsCmq2Ofu5jua7yP0UTUr3sNmqU1HCpXfHzLBERZnYEREAREQBF4XBoy4gDrKq6vU1noxz66N5\/ti559FKTehSU4wV5OxaoswdXT1jti0WioqM7g94w0Htx+4Xhh1fcRz5qe3sP6W\/EB4Z6+scFbA+ORj8TF7ib8l+TTPeyNhfI4Ma0ZLnHACqa7VVnoch1UJnj9EHPPnw9VAZouOZ\/KXK5VNW\/jxwPXKt6KxWu34NNRxtcP1uG07zKm0F4jFXlolHzz+xSm\/3258202kxMOcTT\/MZwB6oNLXK4nbvN3keCc8lCd3DyHktUiY7bqsR8MpfMk5dF6Iq6HTlpt+DDRsc8Y+8k57s9e\/h4YVoiKjbep0RhGCtFWCIoN2u1LZ6Qz1Lt53MYPieeofuiV8kJSUVeWh5e68W20VNVtAPawhmf7juHqqOw11u09p6N1XUMbNP98Y273kH4d3cB1BVdyrbxf6ylts8IpYqlwfGwDnbO\/nOGc8M9Q3LSWvSdstoDnRCpmH9SUA4PYOAW1lGNpHApzrVcVNZJWz9iv966gvjwLVS+w0x4TzDe4dmR8ge9V9PY449YMo7nKa8yxcoXuyMu7d+\/gt2sxe\/wAPrGz1J4SAxdXSR\/xqIyvdLIVqFkpzeLNa6eho4YIaaIRQRMijbwawYAXRfMkjImF8j2saOJccAKlrdX2ejJaKg1Dx0QjaHnw9Vkk5aHbKpCmu87F4iy4veoLnuttp9njdwmqOrrGcfVBpy9V2Dc75IGkb44NwPyHX0K+C2rMviMXy4t9F1L2qulBQ\/wAzWQxHGdlzxny4qnn1tbQ\/k6SKoq3ngI2YBPjv9F2pNHWalwXQuqHDpldn0G5W8FLT0rNingjib1MaAo7i8RbaJco9TO++tSVx\/A2UQNP6qjP1wvDZ9T14\/GXltO0j4YBvHlj5rUopx20Q+Hxb8m+n2M1HoegLhJVVVVUyZy4ueAD6Z9VOg0tZIPhoGOPXIS75lW6KHOT4lo7NRjpFHGGkpqYYgp4ov\/AwN+S7IiobJJaBEVVfb5FZqYEN5Wpl3RRDiT1nsUpNuyInOMIuUtDjfr77vDaOjby1wn3RxtGdnPSV7pyxe6Kd8s7uUrJ98ryc47AfmelcdOWSWlL7nciZK+o3ku3mMdXf8uC0CvJpLCjnpwlOXa1PouX7PHNDmlrgCCMEHpVNcdKWq4BzuQ9nldv5SHm7+7gVdIqJtaG86cJq0lcyO3f9MYMzveVvBALs85g8d48yO5ammqYqynZUQPD45BlrgvqWJk0T4pGhzHtLXNPSDxCzujXujZcKEOLoqWctj2jk7yf2+au+8r8TninRqKF7p9Lfg0qIizOsi3GonpKCSempzUSsxsxDOXbwOhUIdrC4cG09vYek4J+p+S1CKylbgY1KTm95peBl26Olqtl12u1TUkD4WncOzJz8grSk03Z6PfFQxuPXJzz6q0RS5yfEiOz0ou6jn6ngAAwBgBeoiobhERAEREAREQFTe9QU1nj2Pzqp4+7hbxOeBPYoFq09NU1Qu18dy1S7eyE\/DGOjI7Or6q7kt1JLXsrnwMdURt2WvI4D\/r5qBqG+U9ut1Q2OqjFWW7LGNcC4E9OOjHFaRfCJyVIq7nVeS0X94lfZT701bcbkRmOnHIxHGOzPkD5rUFwaMuIA6ysHp+tusdrNHZraXSOcXyVMh5uT1ZwOGOk9ytG6Wr7idu93WSUZBEURw0emPIK04q+bMdnqywdyLbeb4LPxJ1dq200RLGzGpkzjYgG1v7+Czl\/rrvcqeK4e7HUcFG\/abK488OJAB34OM46Fr6Gx2y3YNLRxteODyNp3md673CkbX2+ekfjErC3JGcHoPgd6iMoxeSNKlGtVg1KVvBe5m6HSrLlBDW3O5VFZyjGva0OwBkcM7\/TCvqOzW63hvs1HExzeD9nLvM71V6NrDLa30MpxPRvLHNPEDO71yPBaJRNyvZltnp0nBTis2ERFmdYREQBERAEREARFWXu909lpOVl58rt0UQO9x+g7VKTbsis5xhFyk8hfb3BZaMyvw+Z+6KLO9x\/YKvsFmnkn99XY8pWTAOjY4flDo3dB7OjvXKyWSorav31eufO7fDC4bmDoJHR2Dx4rUK7airI5oRlVl2k1lwX5YREWZ1hERAFmNH5kq7xUHjJU7\/Nx+qtb\/cm2qzzVGfvCNiMZxlx4eXHwXDS1AaCxw7eeUm+9ftcRngPLC0WUGcs+9Xilwu\/XIuURFmdQREQBERAEREAREQBFXXC+222Nd7TVM22\/0mHaf5dHiqZ19vd5DW2a3mCJx\/mJsemd3zV1BvMwntEIO2r5LNmmnqIaaIyzysiYOLnuwFnqnWML5HQWqjnrpQeIaQ3v6\/QJDo8VE\/tN5rpK6Qj4AS1o7M8cd2Ff0tHTUUXJUsDIWdTG4yp7i8Sn89T\/AMr1fsZs23Ut6DhcKxtvp3f0YgCSPA8O8+CrYtPUUuq2UEHKSw0zRJUve\/O0eOOHXj16lsLtcGWu2TVj8EsbzWn9TjwHmqrSFBJDbn19TzqitcZC4jfsnhv7ePiFZTeFswnQg6kYavVt8v2aAAAYAwAvURYnohERAZWv2dP6sjuJbs0lc3k5XdDXdfoD5rVKDeLYy7WyWkeQ0uGWOP6XDgVW6VubpaU2uryyto+Y5juJaOB7ccPLrWj70b8jlh\/FVcHpLNefFfk0CIizOoIiIAiIgCIq693mCy0JnlG29x2Y4wd7j+3WVKTbsispKEXKWh8Xy+QWWm2nfeVD90UQ4uPWexV1lsMs9QbvehytXIQ5kTuEQ6N3X2dHevNP2aoqKp17vDdqpkOYY3f0x146OwdHfw0yu3hyRzQg6z7Say4L8vxCIizOsIiIAiLPanusrTHZ6DnVlZzSQfy2np8d\/cASpisTsZ1KipxxMh1GNU6lFO05oLccybt0js8PHHkCtaoFmtUNnt7KaMAvxmR\/S93Sf2U9Wk75LQpRpuKcpbz19voERFQ3CIiAIirrhfrZbNptTUt5Ro\/LZzneXR4qUm9CspxirydixXKepgpYzJUTMiYP1PcAFmvfl9vTf4Pb\/Z4ice0TEHd1jO7yyusOjxUT+03mukrpCPgBLWjszxx3YV8CW8zn7eU\/lRv4vJH1VaypeVbBbKeW4TO4BgLR8snyXAUOqLxvq6ttuhLvy4jzseH1K0dJR01DCIaWBkLB0NGM9\/Wu6Ykt1DsZz+ZL6LJe5S2\/SlqoCXmH2mQ\/rqMO9OCuQABgDAC9RUbb1N4U4QVoqwRFV6gu7LNbHz8ZX8yIf6sce4Ik27Imc1CLlLRFPey6\/wCo6ezRkmmpjylSRwz1eW7vcVq2tDWhrQAAMADoVLpezm2W7lKhv4uoO3KXfEOpufXvKu1abWi4GFCLs5y1l\/UgiIqHSEREAWb1JbKiKoivltB9pp\/zWj+o3u7vTuWkRWjLC7mdWmqkcLIFou9NeaMVFOcOG6SMnew9X+VPWZudgq6OsddbDIIpiCZYMbn9eBw8FMs+pILi401Sz2OtYcOgkOCT2Z+XFS48YmUKzTwVcn0f95F0iIqHSERfEsrIYnyyODWMaXOcegDiUBFut0p7RROqag7uDWji89QVHaLTUXesF7vAztb6enPBjeg4\/wCutcqCJ+qry641QPsFI\/FPGRuk38fQE+AWuWj7istTjiu3lje6tPHx9giIszsCIiAIqe46otdteYnSmeYbuThG0c9p4BVbpdS6gcWRRG1Uh4udkPI+flgK6g9Xkc89ognhjm+SJ951HHSv9gt\/4m4SHYYxu8MP+o\/TzwvqwWI28Ora13LXCffI8nOznoCk2ixUNmixTx7UpHOlfvcf2HYrJHJJWiRCnKUsdTXguC\/YREVDpCKLXXKitsfKVlQyEHgDvJ7gN5VDJqqruM5p7Db3TkbjNKMNHh0eJ8FZQbMalenB2bz5cTTPeyNhfI4Ma0ZLnHACoK\/WVvgPJUQfXTk4a2MHGe\/p8MrhHpeuuMnK325PmGciGFxDR6YHgPFX1BbKO2xcnR07Ih0kDe7vPEq1orXMzvWqaLCvHN+hnzS6mvZa6onFrpj+iMnbI8N\/mR3Kxt2lbXbncoIjUS\/3z4cR3DgrlFDm9EWjs8E8Us3zZ4AAMAYAXqIqHQEREAREQBZOLGqNTe0fHb7dgM37nv454b948gFN1Rc5IoY7XRnNZWENAGctYdxP081Y2e2RWi3R0sYGQMyOH6n43laLuxvxOSf8tTBwWb8+C\/JOREWZ1hERAEREAREQBVd30\/Q3mP79mxKOEzAA7uPWOxWiKU2ndFZwjNYZK6Mo0ai06wjHvWkacNAztgepHDtAypdHrO11DuTnMlJICQWyt3bu0fVaBRKy10NwA9rpY5SOBc3ePHir4oveRz9lUh8uWXJ59dT7grqSqA9nqoZdrhsPByqXV1VP7PTWykdiorZA0YOCACPLfjf2Fez6Js0vwMmg\/wDLkJ\/+WVQt07C\/VUltbWTsEcW21+4uzgHGfE+StBRve5jXnXwYHFZ5ZM29BRRW+hhpIfgibs56z0nxOSuznNYMucGjtOFmvsUx2592rHN6Rlet0JbM7UlRVyOPEl7f2VbR5mynWSsqfUuprvbYN0tfTsPUZRlV1RrGyQMJbUumOPhjjOT54C9i0dY4gM0hkIHF8jvocKwp7TbqUgwUMEZH6hGM+adxcyf8h8l6v2KM6lu9wGLVZJC08JZtw+g9V46w3y8D+L3IQwk55CAcR1H\/ADlalEx20RHw+L5km+i6FbbtP2y1kPpqYcoB+Y87TvXh4KyRFRtvU6IwjBWirBERQWCIiAp5tMW2pub7hUtkne8g7Ej8sHh9CrZjGRsDI2hjWjAa0YAX0iltvUpGnGLbitQiIoLhERAEREAREQBfL3tjY57zhrQST1BfSz+sK2WC2MoqcEz1z+SaAd5HTjvyB4qYq7sZ1ZqnByfAi6bjdeLvVagnaQNox07T+kYxny3eJWqUW2UTbdbYKNpzyTME9Z4k+eVKUzd2VoU3CCT11fmERFU2CIiAIiIAiIgCIiAIiIAsxXfh9f0EnBs8Bae04d\/hadUV9tdXWXW1VdKwOFNNmXLgMNyDnf3FXg88zn2iLcU1wafUvURFQ6AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCiz22kqayGsmi2p4Py3bRGz4ZwiJexDSepKREQkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/\/2Q==",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "SCHWAGER GABY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+5699704428",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:48",
    "ubicacionGPS": "LatLng(lat: -23.436645, lng: -68.8266362)",
    "horaLlegada": "15:19",
    "horaDespacho": "15:47",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 15:47:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:47:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[12/06/2026 15:47:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO2245', 1, 24456550, 0, NOW(), 
				'15:47', '15:19', '15:48', 10, '•Entrega insumos, sin contador, recibe Nicolas Godoy', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781293656.png', '', null, 'COMPLETADO','LatLng(lat: -23.436645, lng: -68.8266362)' )
				
[12/06/2026 15:47:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200709

12/06/2026 15:47:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200709'                    
				WHERE idllamado = 12769			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, khapo73@gmail.com


12/06/2026 15:47:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12769			
				
12/06/2026 15:47:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:38 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12769
            GROUP BY l.idllamado;
            

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:38 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:47:38 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 15:47:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12769
                

12/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:40 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:40 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:40 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:42 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:42 - INPUT: {"rutTecnico":"24456550"}
12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

[12/06/2026 15:47:42] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:47:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:47:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12768
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 11:55
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76145047
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2954
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                
=========================================
FECHA: 12/06/2026 15:48:08
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-7ABSHmzvUiUipD0VW8ErgWm41Ne73vASkJSNGT7tHlyHt2.frtg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76145047",
    "serieinterna": "TO2954",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Entrega insumos, sin contador, recibe Nicolas Godoy",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12768",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACuAUIDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABFEAABAwMBBAgDBQUFBwUAAAABAAIDBAURBhIhMUETFCJhcYGRoVGx0RUjMkLBM1LS4fAWJCVDkgcmNIKisvFVYnLT4v\/EABkBAQEBAQEBAAAAAAAAAAAAAAACAwQBBf\/EADARAAIBAgMGBQQCAwEAAAAAAAABAgMREiExEzJBUWHRBHGBkeEUIjOxocEjQvBS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREARFU3fUdDZpooZy5735JbHglg+JHevUm3ZETnGCxSdkWyIi8LCIiAIiIAiIgCIiAIiIAiIgCLnNPDTsMk8rImDi57g0e6pa7WNqpQWwyGql5MiG4nx4KlFvQznVhT3nYvlzmnhpojLPKyKNvFzzgBZkV+qLs7FJRNt8JP7SYdrHnv8AQLpBo1kzxNd66etlxvBcQ0efH5KsCW8zHbyn+ON+ryXc61ms7dBJ0NIyStmJwGxDcfPn5KO2TVd2cNlsdrgJIyRl+PPJ+S0NJQUdAzYpKaOEYwdhuCfE8SpCYorRDZVJ\/kl6LL+dTy0ODAHHacBvOMZKL0izOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA4VtXHQ0ctVMcMibkr88rKearjgu9Vlstwq+wP3WDcP6+AC0GoXvvd2p7FSvyxh6Wqe0g7I4Y8s+4X3VETGV1ho42hsXWA0NHAAFgAx5ren9tubPmeJ\/y4nwjZerf9GpREWB9MIiIAiIgCIvMkjImF8j2saOJccAID0io63V9noyWioNQ8coRtD14e6g\/buobkz\/DbR0DHDdLMe7iM4HzVqEjnl4mmnZO76ZmqUCsvlsoMiorYmuH5Adp3oN6pTpu83Hfdby4NJ3xQfh457h7FT6PSVmpMHq3TuH5pjtZ8uHsvbRWrJ2laW7G3n2RCl1gahzo7PbaiscN22WkNHkMn1wvJp9W3P9rUQ26Mn8LPxce7J9wtOxjI2BkbQxrRgNaMAL0mNLRDYTlvzfpl8mai0VSvk6W4VlTWycy52AfmfdXVHaqC3\/8ACUkUR\/eDe168VLRS5yerNIUKcM4oIiKTYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAod1uDLXbZqt5HYHZB5uO4D1UxZW\/g3vUNJZGu+5i++qMct30\/7lUFd5mNebhD7dXkvMk6Qt8kNA+41JLqmuO2XO47PL14+YXG+feaxs8WM7OX+\/wD+VpmtDWhrQAAMADkszP8Aff7RKbl0FMfPc7+JXF3k2YVKahSjTXNfs06IvhIAyTgBZHafUVRcNUWm3OcySo6SVvGOIbR9eA8yqw3fUV3cRa7eKSAjszVA3nvGd3sVag3mc8vEU4uyzfJZmmmmip4zJPKyJg4ue4ADzKo63WdrpiWU5kq5N+BE3dnxP6ZXCPR3WpusXi4TVkp\/K3stHd4eGFeUdrobeMUlLHEd\/aDe168V79i6k3rz0Sivd9ig69qq7HFLSMt0JI7co7WMd\/HyC9RaN6w8TXe4z1b93ZBwPDJyT7LUImN8Mh9NF51G5efYhUdnttBg01HFG5vB2zl3qd6moq+tvtrt+RU1kbXD8jTtO9Aozkzf7Ka4JFgizDtZdZJba7VVVZBxnGAPTPevLhq+5AtPQW6M7txG0fmR7K9m+ORj9VB7icvJGoJAGScAKuqdQ2elOJbhDnGcMO2f+nKqho01Lg65XeqqviM4+ZKsKXS9mpANmhZI4DBdN28+R3eyWguIxV5aRS8327kWXW9mjOGvml72R\/XCtrdc6a60wqKVxLeBBGCD3rjcKilsVqmqY4IoxG3DGMaGguPAbu9QdIUUkFtkrZxiauf0pGODeXzJ80ajhuiYzqqqoSaeXLQv0RFmdYREQBERAEREAREQBERAEREAREQBERAEREAREQEevrYrfQzVc34Im7WPieQ8zgKj0fSTPgqLvVb5615I\/wDjn658gFE1ZWNrrnTWUTtiiaRJUyF2A0Y\/QZPfkKVJq63wNbSWqmmrHtaGxsiYQ0AbsfH2Wyi8OXE4JVYOteTyj+\/g0qxz7lSUGuq+prJejjZAGNIBJLsM3YHmu4ptU3kNNRUMtkDgcsjB28eGc+4ULTdlpP7QV8E7BVNpCA10g\/NnjjyKRiop3ZNapOpKCjG2er8uWpPdqmuuJ2LHapZgcjpZhhoPrj1K8t07ebpvvN1e2Nw3wQnA88bvmtO50cMZc4tjY0ZJO4BUdXrG2QP6Km6StmJwGwt3E+J\/TK8Tf+iLnCCzrzv00XsTKDTtqt2DDSMc\/d25O27x38PJWawU+q77cavqdDT9XlJxsNbl4I45J4ei19sbV0tsb9qVDHTNGXvzgAd5Xk4yWcmXQrU5NxpxslxtZE5FnbjrS2UYLaYmskHJm5o\/5vplUNRq241uR1uGgiPKNpe8jx37\/wDSipSZ5U8bRg7Xu+n\/AFjcVdfR0DNurqY4RjI23YJ8BxKoJ9YdZmFPZaKSslPFzgQ0f134WfpOoyzCVlvuN4m4F0u5vccDJ+PE8leQ3LULYmxUOnYqeMbmtduA9wrwJGH1M6mjsuibfY9\/Yt+ux2rrc+rRZ\/YU\/McwSP1yrCh0rZ6HBbSiZ4\/PP2z6cPZQOl1nPu6vR0+eeQce5Tqes37\/ALSo4+7ZH8BXjvzRUdmnfBJvm13NMGhow0AD4BfVmOo6z\/8AVqP\/AED\/AOtNjWdLg9LR1mN+MAZ7uDVGDqjo+of\/AIl7fJp1zmmjp4XzTPDI2DLnOO4BZibU17trNu5WUNjBw57H4Ge471Wy3qLU1yZT1tS2gt8ZDujc7BkPeeH0VKm\/Qzn4yCyW9yeRPY2bWF0jndGY7TSv7IcN8x\/r271rWtDWhrQAAMADkudMyCOnYymDBC0YYGcAF1USlc3pU8Cbbu3qwiIpNgiIgCIiAIiIAiIgCIiAIiIAiIgCIoFde7bbgetVcbHA42B2neg3r1JvQmUoxV5OxPXwkAZJwAswdW1Ve8xWW1SzuxnpJdzR5D6hfP7P3m7OLrzcjHE4f8PTnd4Hl81eC287HP8AUKX405fr3LG4aotNu2mvqBNKB+zi7R9eA9VUVF9v9dSyVFLRMoKVsZcZpjk4+IyPkCr23aftlrIfTUw6QD9o87Tvfh5Kp1ZUPrqilsFK49LUPDpcDIDe\/wBM+SqOG9kjKttVBynK3JLuQdPaZiutP9qXV0srpnEtYXkbQ4ZJ48c+y11JQUlCzYpaeOEYx2W4J8TzUStq4NO2iPo6eSRkezFGxnEnllU4Oqb6zILLVTk94kI+fyXjvPNvI9gqdC0VG8uncv6670Ftbmrqo4zjIZnLj5DesVa7ncpbrcpbPSdM6ql2hI8bo25cRnkM55\/BX0enLJaAau5TdO88ZKpwIJ7hz88qist6Nvq7i2hoH1j558xiMYAbk44DvVwSs7ZmFec3OO0eHXTN6FwzStVcJxUX24OqMbxDGcNHd\/4C8aidSWCzmmtYhpp5Tg7LvvNnfk5O\/u8196jqm7u\/vdWy3QE72RHtY8v1Km0GkLTR4dJEaqXOS+Y5H+nh6rzFbefoWqbkmqcLX4vXuZOzXWupaUwWe2B0zv2k+wZHE\/IeCmnTGobw9slyqQwDgJX7RHgBuW6YxkbAyNoY1owGtGAF6Xjq53SKj4FYVGcm1y0RmKTQduhANTNNUO579hp8hv8AdW1NYLTSYMNvhBHAubtEeZyrFFm5yerOmHh6UN2KPgAAwBgBfURSbhERAFGr6+nttI+qqn7EbfVx+A+JXK63eks9KZql+8\/gjH4nnu+qz9BaavUdaLreWFlMBmnps7iO\/u+fgrjHi9Dnq1mnghnL9dWfaSjqtWVTbhcWuht8Z+4pwfx95+vor+qstsrIRFNRRFrRhuy3ZLeW4jgprWhrQ1oAAGAByX1HNt5HsKEYp4s29b8TKTWi7aed1iyzvqKQHL6R\/aPHkMfLf4q4s19p7xE4NHRVEf7SBxyW\/VWazl\/scvTfbFqd0NbD2nBvCQc\/P5r1NSyepm4So\/dTzXLt2NGirbFd47zbm1DQGyDsysH5XfRWShpp2Z0wkpxUo6MIiLwoIiIAiIgCIiAIolbdaC3NLquqjix+UnLvQb1STaybLM6C126orHgkZA3eIxncqUJPQxnXpwykzTLzJIyJhfI9rGjiXHACzLmavuO0C6nt0ZHAEF2PEZOfReo9FxTSNludwqayQHfk4HhvyfcKsKWrI205bkH65fJMrNW2akyOs9O4flhG1nz4e6gf2kvFwaRabK\/Gd0sx7J+Qz5q6o7JbKA5pqKJjv3iNp3qclT0vFaI82daW9K3l3ZljZdR3If4hdxTsI3xwDh3HGPmVOodI2micJHQuqZAc7c7tr24eyu0XjnIqPhqad2rvrmeWMZGwMjaGNaMBrRgBekXl72RsL5HBjWjJc44AUHRoeKmojpKaWpmdsxxNLnHuCzek6eSuqqq\/1TfvKhxbEDybzx6AeRUPVt8juMcdqtjzUl78y9EC7axwaPjv37vgF1orNfblTRQ1lSbdQsaGtgi3OIxz\/mfJbKNo55XPnTrbSslFYlHlpfz6FxcdT2m3FzJJxLMz\/LiG0c+PAeqrRctS3oNNvo22+nd\/nSkEkeY4eA81b23T1stWHU9ODKB+1k7Tv5eWFZqcUVojfZ1Z78rLku5mqXRsDn9PdamWumJycuIb9SuejWNhq7vAxoa2OowG\/AZcP0WpWY0z2NQ35nHM+1n\/AJn\/AFXqk5RdzN0oU6tPCuf6NOiIsjuCIiAIiIAiIgCp75qGG0gQxM6xWP3MhbvIzwJXO\/ag+z3toaJnWLhNuZGN+xngT9F9sVgFvJra13T3CXJfITnZzyH1VpJK8jmnUlOWzp68Xy+SLa9OS1FULrfHGaqccthJ7Mfw\/wDHDxWlRF5KTlqa06UaatEIiKTQIiIDLRxNtGuhFD2IK+IuLAN21v8ATePdalZi7dvW9pjYO2Iy4nhu7X0K060nwZzeHyc4rRMIiLM6QiIgCIiAh3SuNuoX1Lad9Q4EARs4uycKh\/3pvjfyWqAnvEhHz+S1SKlK3AxqUnN5yduSKCj0dbIHmWp6Stmdvc6Z27Ph9cq9jjZEwMjY1jRwDRgBekXjk3qVClCnuqwREXhoERRa+50dti6SsqGRDkCd7vAcSiVzxyUVdkpcamrp6OLpameOFnxe4DKzLtQ3e9SGKxUZjiBwamYDd+g913g0g2ecVN5rZK6X93Oy0d3xx4YWmBLeZzbdz\/FG\/XRfJ5qdXuqZurWOjfWSn87mkNHlx9cLhU2S4VkD63UVyLIIm7Zgg4AAemfXxWqhghpohFBEyKNvBrBgBZrVlRJXVVLYKV33lQ4OlPwbyz6E+QVRedo5GVaDUHKq78lor\/2cdEWxuJ7s6LYEpLIG5zstzv3+3kVr1ypqeOkpoqaFuzHE0NaO4Lqs5yxO500KSpU1EIiKTYLMWo9Hru6xYxtRB\/8A2\/VadZioJodfQSuHYrIdgOPxxjH\/AEj1Vw4roc3iMnCXJrsadERQdIREQBERAFQaiv0lE+O3W5olr5zgAb+jB+Pef5rpf76aANo6ICa4Tbo4wM7OeZCWCwC2h1XVu6avm3ySE52c8h9VpFJLEzlqTlOWzp+r5fJ9sGnorUw1E5EtbLkySEk7OeIGfnxKukRQ227s3hTjTjhisgiIvCwiIgC+OcGtLnEAAZJPJfVl7\/Xz3OuGnbfjakH94lO8MHHH9eCqMcTMqtRU4348OrPlh6S86hqr24EU8Y6KnyMZHD5Zz3lalR6Gjht9HHSwNDWRjG7meZUhJO7PKNNwhZ6vN+YREUmwREQBERAEREARFFr7nR22LpKyoZEOQJ3u8BxKJXPHJRV2SlFr7nR22LpKyoZEOQJ3u8BxKzr9QXa9vMNiozFFnBqZRw\/Qe5Umg0fA2XrV1nfX1B3nbJ2fqfP0WmBLeOXbyqZUVfq9PkjP1Bdr28w2KjMUWcGplHD9B7lSaDR8DZetXWd9fUHedsnZ+p8\/RaFjGRsDI2hjWjAa0YAXpHPhHI9Xh03iqvE\/49jyxjI2BkbQxrRgNaMAL0iLM6jnPMyngknkOGRtLnHuCzelaZ9bV1d\/qAS+oeWw5HBoP8gPIrpqmrkqXwWKkOZ6tw6QgjssG8\/LPgCr6jpmUVHFTRjDImBoWm7HzOX8tbpH9\/COyIizOoIiIAs1rON0UFHc4h95STA538Dv347wB5rSqLcqNtwt09I\/IErCARyPL3VQdpXMa8MdNxR2hmZUQRzxnLJGhzT8QRkLos\/o+sdLajQzZbUUTjG9rjvAzu9OHktAklZ2KpT2kFLmERFJoFXXy7sstudUuYZHk7LGjm7v7lYrKUrRqHVklU4bVHbuzHkbnP8ATxPkPirik83oYVpuKUY6vTv6EvT1lmimku9y7VdU79kj9kDy8flwWgRFMm27sunTVOOFBEReGgREQBF8JAGScALNXXUctVU\/ZVib09Q7c6Zu9sY54P68FUYuWhlUqxpq7Ol9vszagWm0jpa6Xc5zeEX8\/kp1kskNmpyAekqJN8sx4uP0Xyx2KCzQkg9LUyb5ZncT3DuVqvZSVrRM6dOTltKmvBcvkIiKDpCIiAIiIAiKLX3OjtsXSVlQyIcgTvd4DiUSueOSirslKLX3OjtsXSVlQyIcgTvd4DiVQfbl3vrnR2Sl6vBwNVOPlxHzUii0hStk6zc5pK+pJyTITs+nPz9FphS3jm20p\/iV+r0+SI\/UF2vbzDYqMxRZwamUcP0HuVJoNHwNl61dZ319Qd52ydn6nz9FoWMZGwMjaGNaMBrRgBekc+EcgvDpvFVeJ\/x7HljGRsDI2hjWjAa0YAXpEWZ1BERAFyqaiOkppamZ2zHE0uce4LqsrqR8l4u9LYKd2GgiWocDwH8hvx3hVGN2Y1qmzhda8PM9aUpZqyqqr9WMIkqXFsQPJvxHdwA8CtQvEUUcELIYmBkbAGtaOAC9pKWJ3PaNPZww\/wDXCIik1CIiAIiIDLX2lmstzZf6BhLCcVcTeDh8f654K0NFW09wpWVNNIHxvG4\/DuPeu7mhzS1wBBGCDzWVqLZcdN1b6yyxmopJN8tK452fDn4cT4rRWkrPU5JJ0ZOUVeL16de5q0VRatTW27bLI5einP8AlS7iT3cj5K3UNNZM6ITjNXi7op9U3L7Nskr2uxLL93Hu5nj7ZXawW1tqs8NPj7wjbkOMZcePpw8lUXUfbGsKO25d0NG3ppQPjuP8I81qVbyikYU\/vqynwWS\/sIiLM6gigVd7tlEHdPWwtc0b2Bwc70G9Ur9X1Nc8xWS1y1BGPvJBuae8D6hUoSZhPxFOGTefuagkAZJwAqOv1dbKNxihc6snzgMgGRnx4emVF+wLvdu1ebk6OJ2809OcDHw+HzVxbbLQWpmKSANdjBkdvcfNVaK1zIxVqm6sK5vX2KL7OvmpMPuUvUKMnIp2Dtkd\/wDP0Wgt1qo7VTiGli2Rzcd7neJUxFLk3lwLp0IweLV82ERFJuEREAREQBERAZ65Xm6yXCS2Wm3uMrMbU8v4Wg8xy\/rgvlFpKEzdau9Q+vqTx2ydgd3f8u5aJFeOyssjn2ClLFN3\/S9DyxjI2BkbQxrRgNaMAL0iKDoCIiAIiIAiIgI9dVsoKGarkBLYmFxA59yo9H0sr4Ki71Q+\/rXlwO\/8Ofh458sL5rKSSaOhtccnR9dnDSSN2AQMergfJaGGJlPBHDGMMjaGtHcBhaaQ8zl36\/SP7fwdERFmdQREQBERAEREAREQFTc9NWy6OMk0HRzHP3sfZJ8eR81VT2S9WqCWoob44xxtL+jm4ADJPHI+K1agXuinuNonpKeRkckoABfnGMgngtIzej0OarQg05JZ9MjIWNuo3unutFBFKatx2pJSBnB34GRuz8lbGfWbzs9UpGf+7I\/iK0FBRsoKCCkj\/DEwNz8TzPqpC9lUu9DOn4VxgljfuZjqOsJvx3SliA5NaP4UOkaqsdm5Xqonb+43cPfdzPJadFO0fA0+lg95t+bZS0mkrNSEOFL0zhzmO17cPZXDGMjYGRtDGtGA1owAvSKW29TaFOEMoqwREXhYREQBERAEREAREQBERAEREAREQBERAEREAREQGYv\/AG9V2VnDDi7PmPotOqmttBq79RV5nw2mafu9nj35z3j0Vsrk1ZGFKLU5t8X\/AEgiIoNwiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/9k=",
    "razonSocial": "SCHWAGER SERVICE S.A.",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "SCHWAGER GABY",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "INSUMOS",
    "prioridad": "1",
    "telefonocontacto": "+56999704428",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1047\",\"id_control\":\"29000\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I650\",\"id_control\":\"29001\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "15:48",
    "ubicacionGPS": "LatLng(lat: -23.4366475, lng: -68.8267146)",
    "horaLlegada": "15:19",
    "horaDespacho": "15:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 15:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 15:48:08 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76145047

[12/06/2026 15:48:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76145047', 'TO2954', 2, 24456550, 0, NOW(), 
				'15:48', '15:19', '15:48', 10, '•Entrega insumos, sin contador, recibe Nicolas Godoy', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781293688.png', '', null, 'COMPLETADO','LatLng(lat: -23.4366475, lng: -68.8267146)' )
				
[12/06/2026 15:48:08] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200710
[12/06/2026 15:48:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200710', 'TOS-I1047', 1)
				
[12/06/2026 15:48:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29000 and
				    IDproducto = 'TOS-I1047'
				

12/06/2026 15:48:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1047';
                [12/06/2026 15:48:08] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200710', 'TOS-I650', 2)
				
[12/06/2026 15:48:08] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29001 and
				    IDproducto = 'TOS-I650'
				

12/06/2026 15:48:08 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I650';
                
12/06/2026 15:48:08 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200710'                    
				WHERE idllamado = 12768			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, khapo73@gmail.com


12/06/2026 15:48:08 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12768			
				
12/06/2026 15:48:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 - INPUT: {"rutTecnico":"24456550"}
[12/06/2026 15:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 15:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12768
            GROUP BY l.idllamado;
            

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:48:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12768
                

12/06/2026 15:58:32 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:58:32] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:33 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:58:33] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:49 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 15:58:49] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 15:58:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13006
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 11:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61964800
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2167
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 15:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:58:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:58:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 15:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 15:59:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                
=========================================
FECHA: 12/06/2026 16:03:40
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-tdppPQ4TlqtIVsNtO7WeISptjjezrzhooSIro_KuyCQcgYBlXnV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61964800",
    "serieinterna": "KY2167",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "193442",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se cambia rodillo de separación de bandeja n°2 ( oficio ) por producir arruga en la hoja.\nMantención preventiva",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13006",
    "observacion": "cambio rodillo de separación bandeja 2 ( usado )\nmantención",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADMASUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAACAgECAwUGBAUDBQEAAAAAAQIDBAURBhIhMUFRcYETImGRscEUFTKhI0JS0fAzYuEWJCVVY5P\/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAgMBBP\/EACwRAAICAQIFAQgDAQAAAAAAAAABAhEDITEEEiJBURMyYXGRsdHh8BSBoST\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8W2wpqnbZJRhCLlKT7ku1gEXVNWxdIxXflT23\/RBfqm\/BIolqXE+rJzwMOvCok\/cncvea7n17fkedFxXxFqFmt5656YTccWl7bJLx8vruaw0dQ07njjz5+q6j2rd+8zD0jij9cdcr5+nu8vu\/T7Hz8fxRpSc87ErzqU1zTp25kt+r2Xw+BqAc5\/KL\/j1rGTX939Su0jW8PWaXLGntOKXPXLpKP9\/MsTPa5oNsshatpUvY51W8mo9lvT693xJ2i61TrGNutq8iC2tpfbB9nyDiqtHceSSl6eTft7yzABB6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ\/jLKlTov4etNzyZqtJeHb9dl6mgMxxDF5XEui4rjvCM3Y+nR9U9vD+UvH7R5+Jb9Jpd9PmX2nYcNP0+jErSSqgl0733v1e7JIBG5ukkqQAAOgy+X\/4njbGvguWnUY8k9uic+zs8+V+pqDL8Z3xxbNLyXLb2WRzbRfvNLZvbr\/nQ0x70eXitMfP4af+moBlYXa\/xFvbiWrTsFv+HJr+JNeP+bI6fkPEFD5qOIJWS232ti9t\/m+n+bDkS3Z3129YwbX9GmBlq+I9T0qz2evae1BtpZFK3XquzvXh5Ghw87F1ChX4l0ba33x7vNdqJcWi8eaE3S38PckAAk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmOJ\/+11zRs\/sirfZzl2bLdd\/k5GnKbirAWfoGQlFOyle1g\/Dbt\/bcuDqRhxMXLE63Wvy1LkFboGoPU9GoyZSTs25bNv6l0f9\/UsiWqdGsJKcVJdwADhQKzUdCxNUzMfJyueao7K2\/cl5rz2+RZg6m1sTKEZqpKz5GKjFRikklsku4+gHCjzZXC2DrshGcJdsZLdMyWo6ddwxnLVtMbWHJpZFHakv7eHg\/ga845ePHLw7saf6bYOD9VsVGVMxzYlkVrdbM+42RXl41WTTLmrtipRfwYKLgnIlZo08eaaljWuGze727fq2BJU6O4Z+pjUvJogASagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+NJrZrdM+gAyWO5cLcRyxpvl03PlzVyfZXLw+G3Z5beBrSBrOlVaxp1mLZspdtc2v0y7mVfDeszUnoupfw83H9yPM\/8AUS+Pjt80aPqV9zyQfoz9N+y9vt9jRgAzPWAAAAAAAAAZbheyGJn6xj2NR5Mndbde+X9gOFq4ZmdrGXOKlGzJ2js34yf3QNJ1zHk4bm9JVtr9TUgAzPWAAAAAAAAAAAAAAAAAAAfG0lu3skVeVxNo2HPktzoSltvtWnP910OpN7ESnGCuTotQZ58b6Mp8vNe1vtzez6efiTMDiXStStVNGRtbJ7RhOLi35fI64SXYiPEYpOlJFqACTYAAAAAAAAAFLxDoEdVqWRj7VZ1PWqxdN9uuz+3gXQOptO0RkhHJHlkUmga69QUsLNj7HUKOlkGtubbvRdlJr2g\/mKjl4c\/YZ9PWuyL25vg39znonEf4q56bqcPw+oVvlafRWeXg\/h8vhbimriYQyPHL08n9Pz+S\/ABmeoAAAHDNzKcDDtyr5ctda3b+i+Z6yMmjEpd2TdCqtdspvZGUysi\/jHMjh4cZ1aZTNStua2c38Pn0Xqy4xvfYwzZeRVHWT2RP4Jxp0aE7LO2+12J7PfbZL7MF9VVCmqFVcVGEIqMYruS7EDknbsvFD04KPg9gAk0AAAAAAAAAAAAAAABVa1r2No1cVJO7Im9q6IPq\/PwR917WYaPhcyXPkW+7TX\/U\/wDjdELQNBnVZLVNT3szrm5qM3v7Lf79nl2FxSq2ebJkk5enj37vx+SJXpGscQz9rrV0sXF\/lxq+jfmu7zfXyLnE4d0nDgo14NUmv5rI87+bLMBzbKhw8I6vV+Wco41EIqMKa4xXYlFJI5\/l+H+KhlLFqV9e\/LYopNb9v1ZJBNs15V4AAOFAAAAAAAAAAAAAq9Z0HF1mnaz+FfH9F0V70fPxXwLQHU2naJnCM1yyVop9EWrY9l2FqC9tVSl7PKcnvZv479v2+JcABu3ZyEeSNXYABwsiahpmHqlUKsyr2kIS5orma6+h3popxqlVRVCquPZGC2SOgO29ieWN81agAHCgAAAAAAAAAAAAAAAAVvEGW8HQsu9Ncyhyx3Xe+n3OpW6JnJRi5PsUmElxFxbZntqeHgJRp27JS7n8936I1pUcL4awuH8aPJyztj7Wfi3Lr9Nl6FuVN26XYx4eDUOZ7vVgAEHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnuN2\/8Ap6Wy33tjv8O00JU8UY\/4nhzMjs94w51t\/te\/2KhpJGHEK8MkvDLDDUVhUKC2iq47eWx2K3h7JWVoOHYnu1UoPzj0f0LI41TNMbUoJoAA4WAAAAAAAQsnWNNw91kZtMGv5edN\/JdSNHijRZPZZ8PWMl9iuV+DN5cadOS+ZbAj4ufiZsebFyarl\/skm16EgktNNWgAAdAAAAAAAAAAAAAAAAAAIGXremYF6oycyuux\/wAvV7dN+u3Z0a7SZVbXdXGyqyNkJLeMovdP1KO3QpX8R235GLj34V1S5nNJyjJdm3en+23yK3Ixsjg7Njl4k7LtNuko3Vy6uH+dz9DTli9E9TyPNkg3Kcem\/wBfvNiDnTdXkUwupmp1zW8ZRfRo6GZ69wAAAAAAAAAeZwjZXKucVKMk1JPvR6ABmOFJ2afmZ2hZE95Y8+erfvi+36xfqzTma4nxbcLJo1\/DW9uN7tsUuk4fH5teq8C9wc2nUMOvKolzQsW\/k+9PyNJ69R5cD5G8T7bfD90JAAMz1AAAAialg\/mOFPGV9lHM179b2a6ksBOjkkpKmUeNwfouMlvjO6S\/mtm3v6LZfsS3w\/o8ls9Nx\/SCRYgrmk+5msGJKlFfIz2VwXpV0nOhW4tm+6dc+ifkyJDP1Xhe\/wBlqSnm6fKS5clLrDf4d3l8jWHO6mvIpnTdBTrmtpRkujRSm9pamcuGiurH0v8Ad0KL6smmF1FkbK5reMovdM6FVouivRZZNdeRKzHtmpVVyX+n279e\/u+RakOr0NoOTinJUwADhYAAAAAAAAAAAAAAAOeRRXlY9lF0VOuyLjJPvR0ADV6MzHDk7NI1TJ0C+TlGO9uPJ9N4+H39GacznFmHZXVVrOJ7uVhNNvxhv2fN\/JsvMLLrzsKnKqfuWwUl17PgaT16jzYOhvE+23w\/B3ABmekAAAAAAAAA8yjGcHCS3jJbNeKMldiZ\/CWXZmYaeTplkt7am95V\/H\/n5+Jrz5KKlFxkk01s0+8qMqMcuJZKadNbMjYGo4mp46vxLlZHvXfF+DXcSjNZvDuTgXvO4dmqLXv7Shv3Z\/Bb9F\/m2x5x+Mo0S9hrOFdiXro3GLcX8dn1X7lcl6xM1xHJ05tH57M04KyniLRr0nDUaFv\/AFy5PrsdvzrSv\/Z4f\/7x\/uRyvwbLLB7SRNBTZPFmi426eYrJLuqi5b+vZ+5AfFOoZ6lHSNGus3\/Tbb0ivt+5ShJmcuJxLS7fu1+hpL8inFpldfZGuuK3cpPZIr9K1n81yslVY8li1beyyHulZ277brxTKyvhvO1Wcb+IM2Vij1jj1NKMfNr7fM0dGPTi0xporjXXFbKMVskGopeWISyTlbVL\/X9joACD0AAAAAAAAAAAAAAAAAAAAAAAAHO+mvJosotjzV2RcZLxTM7wjKeHfn6NbNyeLbvDfpvF\/wCJ+ppjLaivyjjPEz99qc9eysSXf0X15X6M0hqnE8ufplHJ4dP4P8mpABmeoAAAAAAAAAAAAHi2mq6HJbXCyPhOKaPYAKq7hnRb\/wBen1Lrv7m8PpsclwhoKe\/4Ds\/+s\/7l0CueXkyeDE94r5EHF0TS8N70YNMZf1OO7Xq+pOAONt7lxjGKqKoAA4UAAAAAAAAAAAAAAAAAAAAAAAAAAACq4i0r820mdUN1dW\/aVNf1JdnqWoOp07RM4KcXF7MqeG9UWq6PVbKW91a5Leu73Xf6rqWxkdQqs4W1tapjwcsDKly5FcV+h+K+q9Uauq2u+mF1U1OuaUoyXY0VNd1szHBNtck\/aX7Z7ABB6AAAAAAAAV+qa3g6RU5ZNy59t41Re85en3OpN6ImUoxVydInykoxcpNJJbtvuOGHnY2fS7sW5W1qTjzLxRm2ta4qhyzrWn6bPq91vOxf55LzNLh4dGBiwxsatQrgtkl3\/F+LKcUlruZY8kskrS6fqdwAQbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHPIoryseyi6KnXZFxkn3oy8MbVuFbZ\/ha55+mP3nBfqr69dl\/i8jWAqMq0McmJTaknTXcosPjDR8qtOd7x598LY\/ddCfXrelWpcmo4r37nbFP5M9ZOk6fmPfIw6bHu3u4Lfr29SFZwlodjbeCot98bJL9t9iuh+TP\/AKI+H819y2ruquTdVkJpdvLJMWXVUx5rbIVx8ZSSRmczg3TKoxsqnkwafLsrF8fFDD4N0y5e0usybWnttKxbbeiO8iq7M\/5OS+XlV\/H8Fzfruk40HKzUcf3e1RsUn8luyqyONcV2ex07Evzbn2KMdk\/q38iZTwnodMlJYKk1\/XOUv2b2LWqmqiHJTVCuPhCKS\/Y50L3mlcRLdpfDX6mbdnFmqqUI1U6bVLbabfvJfNvf0XoS9O4SwMKz8RkOebkPq7Luq38Uv77l6Djm9loVHh43cup+8AAg9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/9k=",
    "razonSocial": "REGIMIENTO LOGISTICO N1 TOCOPILLA",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "CARCA CID",
    "correoContacto": "carla.cid@ejercito.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE IMPRESIÓN SALE CON LA HOJA ROTA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56999798209",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:04",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "15:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 16:03:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 16:03:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61964800

[12/06/2026 16:03:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61964800', 'KY2167', 1, 7373114, 193442, NOW(), 
				'08:00', '15:37', '16:04', 4, 'se cambia rodillo de separación de bandeja n°2 ( oficio ) por producir arruga en la hoja.
Mantención preventiva', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781294620.png', 'cambio rodillo de separación bandeja 2 ( usado )
mantención', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[12/06/2026 16:03:40] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200711

12/06/2026 16:03:40 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200711'                    
				WHERE idllamado = 13006			
				TO ENVIO: micorreo@miempresa.cl, carla.cid@ejercito.cl, khapo73@gmail.com


12/06/2026 16:03:40 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13006			
				
12/06/2026 16:03:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 16:03:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:45 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 16:03:45] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 16:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:45 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 16:03:45] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 16:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13006
            GROUP BY l.idllamado;
            

12/06/2026 16:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                

12/06/2026 16:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13006
                
[12/06/2026 16:12:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 16:12:43 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 16:12:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 16:12:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 16:12:43 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:12:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:12:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:02 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 16:13:02 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:13:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 16:13:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:13:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:03 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:13:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:06 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:13:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:06 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 16:13:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[12/06/2026 16:13:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:06 - INPUT: {"rutTecnico":"19969062"}
12/06/2026 16:13:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[12/06/2026 16:13:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:07 - INPUT: {"rutTecnico":"19969062"}
[12/06/2026 16:13:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 16:13:07] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/06/2026 16:13:07] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 16:13:07 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

12/06/2026 16:13:43 - INPUT: {"rutTecnico":"9291721"}[12/06/2026 16:13:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 16:13:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [RutCliente] => 8732136
            [ModeloMaquina] => L5590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 16:13:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 16:13:45 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:13:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:47 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:13:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:13:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

12/06/2026 16:14:06 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:14:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:14:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:14:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

12/06/2026 16:14:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

12/06/2026 16:14:07 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:14:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:14:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:14:44 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:14:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:14:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:14:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

12/06/2026 16:14:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

12/06/2026 16:14:57 - INPUT: {"rutTecnico":"9291721"}
[12/06/2026 16:14:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 16:14:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 16:20:45 - INPUT: {"rutTecnico":"19969062"}[12/06/2026 16:20:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 16:20:45 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[12/06/2026 16:20:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[12/06/2026 19:58:45] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7373114'
				GROUP BY anio
				ORDER BY anio DESC;
				

12/06/2026 19:58:45 - INPUT: {"rutTecnico":"7373114"}[12/06/2026 19:58:45] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7373114 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7373114'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

12/06/2026 19:58:45 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => REGIMIENTO LOGISTICO N1 TOCOPILLA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61964800
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65195060
            [ModeloMaquina] => ESTUDIO 330
            [FechaLlamado] => 09/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [RutCliente] => 69253200
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 08/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76689118
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 02/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78863090
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 02/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT CENTRO COPIADO 
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 94913830
            [ModeloMaquina] => STUDIO 2010AC
            [FechaLlamado] => 02/06/2026
        )

)

12/06/2026 19:58:48 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 19:58:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 19:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 19:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:58:57 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 19:58:57] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 19:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 19:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:15 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 19:59:15] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 19:59:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13010
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

12/06/2026 19:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 19:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 19:59:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                
=========================================
FECHA: 12/06/2026 20:00:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-u74GglUDkaFynd-J4n3X9R6MwT_HieY+XWAnYVDoawUy-oICBw-
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2819",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entrega 4 resmas tamaño carta",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13010",
    "observacion": "se entregó 4 resmas carta",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADOARkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA5EAACAQMBBQQIBQQCAwAAAAAAAQIDBAURBhIhMVETIkFhFBVxgZGhscEjMkLR8CQzUuFT8WJjwv\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALBEBAAIBAgQFAwUBAQAAAAAAAAECEQMhEjFBUQQTIoHRMnGxFDNhkcEjof\/aAAwDAQACEQMRAD8A\/ZgAAAAAAAAAAAAAAAAAAAAAAAAAAPM5wpwc6klCMVq5SeiR4ubmlZ21S4rzUKdOO9KTMnRpXm2V261w52+Jpy7lNPR1Gv5xfhyXUlWud55KNXV4JitYzaeiwvNq4TreiYag7+51\/SnuJddfH5LjzOPoG1tzrUq5OhbN8qcI66ePT9y9scdZ42k6VnbwoxfPTm\/a3xZKJcUR9MIeTe++pb2jaPll3W2uxkN6rSoZGEVx7P8AN8Ek38GWeI2hssu+yg3RuYp79CotJLTp1LUo87s3RyUXcWultfQ70asO7vP\/AMtPqM1tz2cmmppb0nMdp\/yV4Ci2czdS9VSwv49nf23CcX+tLx\/nkXpCYmJxLRp6ldSvFUABxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKzaK+9X4O5rRek3Hchw14vgdiMzhG9opWbT0U1XttrMtVtlN08ZZzW\/uvR1ZfxP2e01NKlToUYUaUFCnBKMYrkkVmzOP9W4OhSkl2k9ak2vFv\/Wi9xbErzviOSnQpMV47fVPP49gAEGgAAGb2psKtF0s7Zd26s2nPRfnh5\/zk2XePvaeRsKN3S\/LVjrp0fJr3PVHatShXozo1FrCpFxkvJ8DPbEzksXXtZtt0K8kuHh\/3qWc6fZlxwa+3K35hpAAVtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZja5K4vcPZyXcrXPe1fDTVLl483\/GaczG2etGeLvX+Whc8Xyfg\/wD5J6f1M3i\/2Z9vy04Piaa1T1TPpBpAAAAAAzGxT3oZKa\/LK5ejLfN5KOLxdW43kqjW7STWus2uC\/nQibJWMrHAUlOO7Os3Vkmmnx5c\/JIsjakst\/Vr1iOkTK7ABW1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWbRWHrHB3NFLvqO\/Dhrxjx+fL3lmDsTico3rF6zWeqo2YyEMhg7eSffoxVKa6NLT5rRluZSwcMFtfc2LW5b3+k6XlLp8XJfA1ZK8YnZT4e82pi3ONp9gAEGgAAGL2pvZev7aheW1WdjRSm4Q49rrrxa9qS+PUsqe2+JkpdpG4pOL0e9T14+5miOdShRrNOrShNrlvRTLOKsxETDJ5OpW02rbn3hV0dq8JW5X0YteE4Sj9UT6ORsbhfg3lCp5RqJs41cFia\/GpjrfXqqaT+RAr7GYWs9Y0J0X\/wCuo\/vqc9CWfER2n+4+V8DLy2ayuPblh8zUSbcuzr8Vrr718iXhc3c1r2pi8pSjRvaa1i48qi6oTXbMTl2uvPFFb1xM\/wBf2vQAQaAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTbTYh5TGuVFf1Vv36LXPXxS9unxSOmz2YjmMcqkuFxT7laOmmkuvvLUymatqmAy1PO2cfwaklC5pJ6J6+PT\/AHp1LK+qOFl1c6V\/Njl1+fZqweKNWFejCtTe9CpFSi+qfFHsragAAAAAAAAzGUbq7dYulTe7KFJylJdO9w+XzNNKSjFyk0klq2\/AzGA38vn7zNtONFLsaC4reXXlx5debLKbZlm8RvNaR1n8btQACtpVWVxt7f31lKlcqlbUJ79SKbUm\/DTh90WoB2ZyhWkRMz3AAcTAAAAAAAAAAAAAAA8Va1KhTdStUhTgucpySS94HsFBdbY42jV7K3VW7nxX4UdV8f2O2I2g9bXcqHoFe33YOe9UXB8UtPmS4LYzhRHiNKbcMTuuQARXgAAHG8tad7aVbaqtYVYuL4cvM7AOTETGJUey8L+1ta2PvactLSpuUqz5Tjz0WvHh189PAvADszmco6dOCsVzyAAcTAAAAAHmcI1Kcqc4qUZJqSfijnbWtCzoqjbUYUqa5RitEdgHMRnIAA6AAAAAAAAAAAAAAAAAFJns+sbu2lrHtr+toqdNLXd18WvsdiJmcQhfUrp14rOmb2htsRHsl+NdzXcox+WunL7lZb7PX+Zqq8z9eSX6Lam9NF0fT6+ZMwOz0bP+vv32+Qq96U5PXcb8F5l8T4ortVnjTtrerV5dI+Uayx9njqTp2lvCjF891cX7XzZJAK+bVEREYgAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFbncxTwuOlcNKdST3acNecv2IWzeEqWinkchrPIXDbk5c4J+Ht\/wCiHux2j2tcm9+yxuijpylPXj4ceK96SNWWT6YwyUjzdSbzyjaP9n4AAVtYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcbuq6FnXrLnTpykvctTscrmj6Ra1aP8AyQcfitBDls4nCj2KpaYLt5PeqV6spzk3q2+XF+40JnNiLhVMLOg9FOhWlFxXgnx\/f4GjJ6n1So8Ljya47AAINAAeZSjCDnOSjGK1bb0SQHoGUq5PJbQ5Gdrhqvo9nR1VS50\/M\/L7L4ivbbQ4CDuqN+8nQitatOsnql1XFvl5+4s4O87sv6mOdazNe7VgiYzJW+Vs43VtLWLbTT5xa8GSyuYw01tFozARMfk7XJwqztZuUaVR05NrTiuhLKrD4eeKub1xqp29ealSpr9PXXgvL4HYxiULTaLVxy6rUAHFgAAAAAAAAAAAAAAAACveZtlm\/VMlONZ099ScdIvyT9nu8OZYHZiYRraLZxPIABxIAAAAAAABkrtz2Y2kd7GL9X370qqP6Zc2\/dxfsbNXGUZwU4SUoyWqaeqaOV5Z0L+0qWtzDfp1Fo190Zmje3eyNdWd8qlzjpP8GvFaun5P9vh0LPrj+WPP6e05+mf\/ACfhrQcba7t7ymqltXp1oNa6wkmditriYmMwGW2ju62UyFLZ6xnuyqNSuKifCMePB+7j8EWGez9DFUXRpzU72otKVJLXRvk30R82bw0sZbTr3MnO8uu\/WlLmm+Omvv4+ZZWOGOKWXVnzbeVX3+PdZWVlb4+1hbW1NQpwXBdfN+ZIAK2qIiIxDJ3tpc7L5CeUsIOrYVX\/AFFBfo81\/OBpLK9t8hawubaop05rg+nk\/M7yipRcZJNNaNPxMneYu\/2cvJ5HCxdS0k9a9rz0Xl5ezivYWbX2nmyzE6E5rGa9u32\/hrQQcVlrXL2iuLafH9cG+9B9GTiExjaWmtotGY5AAOJAAAAAAAAAAAAAAAAM5thZVZWlHJ23CvYz39V\/jw+jSfxLnGX9PJY6jeU+VSOrX+L8V8SROEalOVOcVKMk1JPxRlcNOWz2eq4WtL+muH2ltJ9XyXy09q8yyPVXHZkt\/wAtbi6W2n79GsABW1gAAAAAAAB4q0qdelKlWhGpTmtJRktU0ewDmzlxsdbq5d1jbutYVnr\/AG33ePzS8jn6g2gqLdq7QziusE9ft9TTgn5lmafC6Wdox9pmFNidmbPGVnczlO6um9e2q817C5AIzMzvK6mnWkYrGAAHEwAAZbMYm4xF3LN4bSDjxuKHKMo+L9nX4l3i8ta5e2da2ctYvScJLRwfRk48U6NKimqVOFNN6tRilqyU2zG6imlwXmaztPT4ewARXgAAAAAAAAAAAAAAABSbU42peY70m11V3aPtKUofm4c0vr7Ui7B2JxOUNSkXrNZ6q7B5anmMbC4i0qiW7Vh\/jL9nzRYmUra7NbT9uu7j8hwn4Rpz69P9N9DVJprVPVMleMbxyV6F5tE1tzjafn3fQAQXgAAEDK5myxFB1Lqqt5ruU48ZT9i+5WZPaeXpXq7DUfTLxvRyXGEPf4\/RHrF7NShdvI5at6XePjFa6xp+zqWRXG9mW2tN54dLf+ekfKzxOQnk7CN1O2nbuTekJ9PB8lzJoBCWisTEREzkABxIBByNHI1ats7G5hRhConWUo6ucdVwXu1+ROOoxOZmMAAOJAAAAAAAAAAAAAAAAAAAAAAAAAAAg5jGwy2Nq2k9E5LWEn+mS5MqdnMw6cnhMg1Tu7buQcn\/AHEvBef1RpCsy2AssvpOqpU68VpCtTekl4+8nWYxiWfU07cUamnz\/MLMGYWD2it4qna5xOnHgu0XFLw8GelsreXTbyWbua3HVQg92K+f2R3gjujGvedopv8AeFpk87YYuD7espVfClT70m+mnh7ykj6\/2mjKW\/6tx8+GiXfmvr9F7S1x2y+KxslOnQ7WonqqlbvNfb5FuOKK8jy9TU\/cnEdo\/wBlBxWHs8Pb9la09G\/z1Jfmn7X9icAQmZneWitYrGKxsAA4kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/\/Z",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MALL ANGAMOS",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"XER-I333\",\"id_control\":\"29007\",\"cantidad_usada\":4,\"cantidad_asignada\":4}]",
    "horaSalida": "20:01",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "15:37",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 20:00:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 20:00:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[12/06/2026 20:00:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2819', 1, 7373114, 0, NOW(), 
				'08:00', '15:37', '20:01', 10, 'se entrega 4 resmas tamaño carta', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781308852.png', 'se entregó 4 resmas carta', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[12/06/2026 20:00:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200712
[12/06/2026 20:00:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200712', 'XER-I333', 4)
				
[12/06/2026 20:00:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 4
				WHERE
				    IDcontrol = 29007 and
				    IDproducto = 'XER-I333'
				

12/06/2026 20:00:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 4)
                WHERE ID = 'XER-I333';
                
12/06/2026 20:00:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200712'                    
				WHERE idllamado = 13010			
				TO ENVIO: dsprintmallangamos@gmail.com, jefasucursal@gmail.com, khapo73@gmail.com


12/06/2026 20:00:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13010			
				
12/06/2026 20:00:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 20:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:55 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:00:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:00:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:00:55 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:00:55] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:00:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13010
            GROUP BY l.idllamado;
            

12/06/2026 20:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:00:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13010
                

12/06/2026 20:01:09 - INPUT: {"rutTecnico":"7373114"}
12/06/2026 20:01:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:09 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:01:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

[12/06/2026 20:01:09] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:01:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:01:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:14 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:01:14] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:01:14 - INPUT: {"rutTecnico":"7373114"}
12/06/2026 20:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

[12/06/2026 20:01:14] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 13011
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 12:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:01:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                
=========================================
FECHA: 12/06/2026 20:04:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-zwpc_j4iELcVNBtAG7T8vSO1yGdjBDuHUGTAaP9Vr_kcbf82YLo
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2757",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "7373114",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "se entregó 2 opalinas lisas diazol",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13011",
    "observacion": "se entregó 2 opalinas lisas diazol",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADLAQ4DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA7EAABAwMBBQUGBgAFBQAAAAAAAQIDBAURIQYSMUFhE1FxgZEUIiMyobEVM8HR4fA2QlJTsiQmQ3LC\/8QAGAEBAQEBAQAAAAAAAAAAAAAAAAIDBAH\/xAAtEQACAQMCBAQGAwEAAAAAAAAAAQIDETESIRNBUdEiMnGBBCNhobHhFEKRM\/\/aAAwDAQACEQMRAD8A+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGEsscETpZntjjYmXOcuERBLKyGJ8sjkaxjVc5y8kTipVESp2xrVVVfDaIXacllVP75eJUY33eDGrV0WUVdvCOio2oqqyofTWGhWqc1cLM75E4+HTip4lv2uqEbJLdYIFx8jWpppzw0sNNSwUdO2CmibFEzg1puK1pYRnwJS3qSftsirLNtbao3y1Dae4RMTK7mionfoiKvpzJi0XyjvUKvplVr2\/NG\/G8nXTkSJVtpKR9rrYdoaJuFjeiVLW6b6Lplft5oFae3MmSnQWpNuPNP8AKLSDCGVk8LJonb0cjUc13ei6opmZnZkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArW0ks9wuVHYqd6tSbEk6pyYi89Oi\/Qn6SlioqWOmgbuxxN3WoV62\/G28uT5M70cKNYi64T3fT+VLOaT2SRy0PFKVR5vb2QABmdQIjar\/DVb\/6p\/wAkJcgNtKhIdnZY8oizPaxNdeOf0Kh5kY\/EO1GT+jO+wqq2GhVVyqwN+xtuF0o7XD2tXO2NOTeLneCcyCnvE1HBSWS0xdtXNha1yqiYjw3n178m63bKMSdK67zLW1jl3lRy5Y1f1+3QpxWZGMasmlCmrtZfJdzU3aS73Fu\/abM50eVRJJlwjk5LxRPr5ni3TaihY2orLZFNFnDmQrlyeiqWdEREwiYRD0al0L4M3u5u\/tb\/AAxY7fY1+6rd5EXDkwqeJkV91\/qbZcfZrvAjIZpHLDUNd7rW5wjV05cVXPMsBLi0awqRne2UADTDWU1RJJHDOx74nK17Wu1aqcUJLukbgAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAqt0ell2wp7nIu7TVcfZSv7lTTX0avkpaUVFTKLlFOS6W2C7UL6SfKNdqjk4tXkqELYLpNQ1brDdXok8SokEi8JG8kz9vTkaPxR+qORPg1GniT29ehZgAZnWCj7UTzXi\/09soMvdT5zhVREfz1TuRE1Lwc8NFTU9TPUxRI2WoVFkcnPHAuEtLuYV6TqxUL2XM5LJY6ey06tYqyTP1kldxcvTuQkwCW23dmsIRhHTFbAAHhRxXa2Q3a3yUkycdWO\/0u5KRuydwlmo5LdVriqoXdm5F4q3l6Yx5J3k+VTaCJ9lvlPf4U+E9UjqWpz6+n1RDSO60nLW+XJVV6P0\/RayPp7LR0tyqK+JHtkqfnRHYTPFVTnqvU7YpWTRMljcjmPajmuTmi8FMyLtHQ4xlZsAA8KAAAAAAAAAAAAAAAAAAABhLLHDG6SWRsbGplznLhE8wDMENFtHBV3NlLQwyVcWPizRppGqrhOOMp3\/qTJ601kiE4z8ruAAeFgi75ZIbxTYz2dTHrDKmitXuXoSgPU2ndEzhGcdMsFdsF+kkk\/C7qixV0a7rVemO1T99PMsRF3uxU96p8P+HUM\/LmRNW9OqEVRX2qstV+G39yr\/tVSJlHJ1\/f1LaUt4nNGpKi9NTHJ9y0g8a5HNRzVRUVMoqcz0zOsAAAAAAGispIq6jlpZkyyVqtXp1N4B40mrMreyFU9kNTaKh+Z6KVWp1bnGnnn1QshVbkjbZtxQ1aN3Y6xnZvXOEV3D9WlqLnm\/U5\/hm1Fwf9Xb25AAEHSAAAAAAAAAAAAAAAACFv1+\/D92jo2dvcJtI4013c81PUm3ZETnGnHVI3Xm\/0lmjTtVWSZ\/yQs+ZfHuQh6azXLaB7ay+TPip195lIxVbpyz3ffwO6ybNso5Pb693tNwf7znuXKMVe7r1J4vUo7ROdU5VvFVx079jRSUdNQwpDSwMhYnJqYz495vAMzqSSVkAAD0AAAHNXUFLcqZ1PVRNkYvDKatXvReSnSBg8aTVmVZtFe9nZd6ikWvt6cYXL70adM93T05kpZ9oaW8ufFFHLFNGmXxyN4efD9SVMUYxrnPRqI53zKiar4luV1utzCFF034Ht07GQAIOgAAAAAArO2qq2noJGJ8RtUm6uMqmi8PoWYrG1f\/UXSz0LfmfPvr0TKfz6FnLl5Uc1LetU9vwAAQdIAAAAAAAAAAAAAOG8XOO022WrfhVRMMav+Z3JD1K7sTKSinJ4OK\/X38PRtHRt7a4T6RxtTO7nmosNhS3b1ZVu7avmyski67ueKJ+5p2atEjHvvFeqPrKtN9EVPy0X7Lj0TQsJcnZaUc9ODqPiz9l0\/YABmdQAAAAAAAAAAAAAAAAAAAIDaS8VFM+C2W5U9tq1wi\/7acM+ff0U9im3ZGdSoqcdTN972hp7QiQsatRWSaRws455Z7v1M7FHd2xSzXaZquldvNhRE+F0ynloa7Ps5TWtfaJHLU1jky6aTXC88f3JMlNpKyM4RqSlrm7dF36mp9NBJUR1D4WOmiRUY9U1bnjhTaAQb2SAAB6AAAAAAAAAAAACqXpPxjayitW7vQUydrMmdF54Xywnn5lrKxsyiVV\/vNeuq9r2bF6ZX9mmkNrs5fiPE40+r+y3LOADM6gAAAAAAAAAAAAAAADjulFLX0TqeGrkpXOVPiR8cZ1TihvpoXU9NFC6VZVjajd93F2OanvIm71WtsbQAeFAhrVYForlU3GqqPaamdVw7dwjW+HoTIPU2iJQjJpvkAAeFgAAAAAAAAAAAAAAAAAArGxeEZcmO\/MSqXe\/vqWcrFhVKTay8UecJIqSonnn\/wCi4+VnNV2q036r7FnABB0gAAGEsrIYnSyORrGJlyryQrL9orld6hYNn6VFibo+ombhEX++fQ1vdLtfdJIGSqy1Ujk3lbxmX+p5J4lpgp4aWFsMEbY42phGtTCIaWUc5OTVOu\/C7R6836fQraWPaSoRH1N97J+OESLj6YPfwHaKLWHaBXr3SIuPrks4POIyv4sOr\/1lY\/7zpc6UlbjwTP8AxPE2sraRFbcrLPG5Me9HwX1\/ctAPdaeUOBNeWb99yKoNpLXcUxHUdm7T3JU3V4Z8F4Lw7iVI24WC2XN2\/U0zVfnKvZ7rl8VTiSDWoxiNbwamE1yS9PI0p8TdTt7GQAJNQAAAAAAAAAAADjhulNPcpre1XpUQt3nNc3GU01Tv4odhWdo4\/wALulJf40VEa5Ip0T\/M1fvpn6FjilZNEyWNyOY9qOa5OaLwUqS2TRjTm3KUZZX45GYAJNgAAAAAAAAAVfaanlttxptoKSPeWFdydqc28M+i49C0GL2NkjdG9qOa5FRyLzQqMrO5lVp8SNufL1NVHVwV9LHU070fHImUX9F6m8qNO6TZG8rTSOetqqV3mPcmUjd1X+8lLaioqZRcoolG2MHlGprVpbNZPSC2tuD6O1pTwOxUVbuzYiLhcc1znwTzJ0qlBm\/7WyXBHb1FQpuQqmcOd\/VVfQ9gt7vkR8RJ6VCOZbd2T1otsdqtsVIzVWpl7s\/M7mp2gEt3dzeMVFJLAAB4UAAAAAAAAAAAAAAAAAAAAAaKykirqOWlmTLJWq1enUr+y9VJQVE+z9YvxoHKsK8ns46ffz6FnK7tTb5t2K8UKYq6NcrhPmZzz34+yqaQd\/CzmrxcWqscr7osQOO13GK62+KrhVMPT3m\/6Xc0OwzasdEZKSugAAegAAAAAAAAHLcaCC50UlJUNyx\/NOKKnBUK1BWXXZR3sdXBJX0KflTRpqxO7+FXwUt4KjKys8GFSjqeqLs+pUqu+Vu0LUoLLTTwtk0mnlbu7qc0yir+5YbXbYbVQspYUTDU952MK92NVX0OwByurIU6TjLXJ3YABJuAAAAAAAAAAAAAAAAAAAAAAAADxURUwqZRT0AFQ\/wltAmNLZXLr3RO\/j7L0LcioqZRcopxXi2R3e2yUki7qu1Y\/Gd1ycFIzZi5yrv2atbuVdGm6mV+ZqcP0NH4lfmckPk1NH9Xj16diwgAzOsAAAAAAA01VXT0UDp6mVsUbeLnKVlbledpZVjtSOoaFFVHVLk953h\/HqVGLe5jUrRg7Zb5Im7lfrdalRtVOiSL\/wCNqbzvHB10lVFXUkdTAqrHImWqqYUjLXsvb7avauZ7TULqssyZXPeicvv1JhEREwiYRA9PIU+K3edl9P2emmrnWlo5qhI1kWJiv3G8XYTODcCTV42Oegqn1lDFUSQPp3SNysb+LToAASaW4AAPQAAAAAAAAAAAAAAAAAAAAAAAAV3ai3Tt7O9UCq2qo9XIifO3n9PpksR4qIqYVMopUXZ3M6tNVI6WclquUN2oI6uHRHaOavFruaHYVKmR2y20Psqri3V7vhqvBjvH6ehbRJWe2CKNRzjaWVswAYveyNivkcjGtTKucuEQk3MiGvO0dNa1SCNq1NW9cNhj1VPH9uJH1u0NXdqlbfs83eciL2lS5MNanT9\/QkbJs7S2hO1VVmq3p78ztdeeO400qO8jldWVV6aWOvbqRtLs9XXiobXbQSqqJqylYuEROvd9+paI42RRtjjY1jGphrWphETohkCZSbNadKNPGevMAAk1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI+92pl4tr6Vy7r\/mjd3OT+4IqzbSww03sN4l9mrKb3Hdoi+8icFz\/c8SynJV2uhrlzVUscq96t19fJC1JWszCpTlq103v+SNrdr7VSruQyOq5VwiMhTOc9eBwpbLztHL2l1e6hokX3aZi+87x\/dfQsFJa6GgXNLSxxOxjeRuuOPE6z3Ul5SODOp\/1e3RY\/Zz0dFTW+nbT0sSRxtTgnPxXmdABmdKSSsgAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/\/Z",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "LUIS GONZALEZ",
    "nombreContacto": "MALL ANGAMOS",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"DIA-I377\",\"id_control\":\"29008\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "20:05",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "15:37",
    "horaDespacho": "20:01",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


12/06/2026 20:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
12/06/2026 20:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[12/06/2026 20:04:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2757', 1, 7373114, 0, NOW(), 
				'20:01', '15:37', '20:05', 10, 'se entregó 2 opalinas lisas diazol', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781309076.png', 'se entregó 2 opalinas lisas diazol', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[12/06/2026 20:04:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200713
[12/06/2026 20:04:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200713', 'DIA-I377', 2)
				
[12/06/2026 20:04:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29008 and
				    IDproducto = 'DIA-I377'
				

12/06/2026 20:04:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'DIA-I377';
                
12/06/2026 20:04:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200713'                    
				WHERE idllamado = 13011			
				TO ENVIO: dsprintmallangamos@gmail.com, jefasucursal@gmail.com, khapo73@gmail.com


12/06/2026 20:04:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13011			
				
12/06/2026 20:04:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


12/06/2026 20:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:05:08 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:08] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13011
            GROUP BY l.idllamado;
            

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13011
                

12/06/2026 20:05:21 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:21] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:21 - INPUT: {"rutTecnico":"7373114"}
12/06/2026 20:05:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

[12/06/2026 20:05:21] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:22] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:47 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:47 - INPUT: {"rutTecnico":"7373114"}
12/06/2026 20:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

[12/06/2026 20:05:47] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 - INPUT: {"rutTecnico":"7373114"}
12/06/2026 20:05:48 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

[12/06/2026 20:05:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:48 - INPUT: {"rutTecnico":"7373114"}
[12/06/2026 20:05:48] Llamados.php->getLlamadosByTecnico: RUT: 7373114 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7373114'
				ORDER BY ll.ordenrutatecnico ASC;
                

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12558
            [tipo] => TELÉFONO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 15:17
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78863090
            [ClienteRazonSocial] => SOCIEDAD  EDUCACIONAL INMA LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2423
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12560
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DON LUIS INDICA QUE SE DEBE ENVIAR UNA UNID. DE IMAGEN PARA KY2960
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 12/05/2026
            [HoraLlamado] => 16:36
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2960
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12564
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 13/05/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => HL-L6400 DW
            [SerieInternaMaquina] => BR2055
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => IMPRESORA
        )

    [3] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12644
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE FALLA UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 19/05/2026
            [HoraLlamado] => 08:39
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76249985
            [ClienteRazonSocial] => MSI MINING
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2535
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12842
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 51064970
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL SAN LUIS DE LA COMPANIA DE JESUS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2705
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12321
            [tipo] => APP
            [otrotipo] => sin otroTipo definido
            [coderror] => Sin coderror
            [prioridad] => 2
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => SALE LA HOJA DOBLADA EN UNA ESQUINA OF.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 20/04/2026
            [HoraLlamado] => 15:58
            [PrioridadDesc] => MEDIA
            [PrioridadFondo] => #EE8E3A
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2246
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12801
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 29/05/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2780
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12939
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 08/06/2026
            [HoraLlamado] => 11:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => SC-T5475
            [SerieInternaMaquina] => EP2711
            [MarcaMaquina] => EPSON
            [TipoMaquina] => PLOTTER
        )

    [8] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12960
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => MANTENCIÓN PREVENTIVA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 14:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 91770000
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [ModeloMaquina] => STUDIO 3508A
            [SerieInternaMaquina] => TO1992
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => LUIS GONZALEZ
            [RUTTecnico] => 7373114
            [idllamado] => 12975
            [tipo] => PERSONAL
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EN REPARACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76250610
            [ClienteRazonSocial] => DSPRINT FALTA REPUESTO
            [ciudad] => Antofagasta
            [ModeloMaquina] => STUDIO 6506 AC
            [SerieInternaMaquina] => TO2459
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12975
            GROUP BY l.idllamado;
            

12/06/2026 20:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

12/06/2026 20:05:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12975
                

15/06/2026 08:18:14 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 08:18:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 08:18:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[15/06/2026 08:18:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 08:18:16 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:18:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:18:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:18:19 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:18:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:18:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:18:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 08:18:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 08:18:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:18:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:18:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 08:28:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 08:28:51 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 08:28:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 08:28:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 08:28:52 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:28:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:28:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 08:32:36] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 08:32:36 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 08:32:36] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 08:32:36 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 08:32:38 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:32:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:32:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:36:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:36:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:36:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:36:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

15/06/2026 08:36:29 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:36:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:36:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 08:48:11] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 08:48:11 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 08:48:11] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 08:48:11 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 08:48:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:48:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:55:48 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:55:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:55:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 08:55:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 09:02:14 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 09:02:14 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:17 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:19 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 09:02:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 09:02:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 09:02:21 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:23 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

15/06/2026 09:02:24 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:29 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

15/06/2026 09:02:29 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

15/06/2026 09:02:30 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 09:02:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 09:02:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 09:02:31 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 09:02:31] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 09:02:31 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[15/06/2026 09:02:31] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 10:02:40 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 10:02:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/06/2026 10:02:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 10:02:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => CREADO
            [ClienteRazonSocial] => DSPRINT PREPARADAS
            [ciudad] => Antofagasta
            [RutCliente] => 70099801
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SERVIU II REGION
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 61814000
            [ModeloMaquina] => T5475
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 10:02:47 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 10:02:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:02:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13015
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:02:51 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 10:02:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

[15/06/2026 10:02:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:02:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13015
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:02:56 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 10:02:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:02:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13015
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:02:57 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 10:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

[15/06/2026 10:02:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:02:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13015
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:02:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:02:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:02:59 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 10:02:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:02:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13015
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:03:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:03:33 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 10:03:33] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 10:03:33 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[15/06/2026 10:03:33] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 10:03:33 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:03:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:03:36 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:03:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:03:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:03:37 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:03:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:03:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13013
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 74454100
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C5790
            [SerieInternaMaquina] => EP2480
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:03:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:03:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:03:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                
=========================================
FECHA: 15/06/2026 10:04:23
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-CzWdrhjYvjSL.oCW8JHyZAzilZa_oPHYzyJ9dbPrmt9BOx2Xoiz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "EP2355",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "42530",
    "contadorColor": "129863",
    "contadorScanner": "0",
    "detalle": "•Se hace limpieza de escáner ADF, se elimina la línea al escanear\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "13015",
    "observacion": "•Pendiente cambio de RGOM2393 y RGOM2394",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC3AQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMBAwkGAgQMBgMAAAABAAIDBAURBhIhMRMUQVFhcYGRoRUiMrHB0TNCI1Jy8CQ0NTZDU3OCkqKy4QcWJlViY3TS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgMFBwQCAwEAAAAAAAABAgMREiExBDJBYdETIlFxgZGxFKHB8ELhIyQz8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEXxLIIonyHgxpcfBAZa4aiuJuFYbdGHU1vGZdpnxHOPLj4BaO310NyoYquDOxIM4PEHpBVFoynbLaaqeUNdzuZ20BwLccPUrnpzlLPfayxyH9E79NASeI\/\/AD\/SVtJLNLgefRqTTjOTyl9nw+xqkRFiegEREAREQBERAEXjnBrS5xAAGST0LO1Gppqu4NorHTirLXDlJT8AHTg\/VWUW9DOpVjT3jRovBnG\/ivVU0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCjXKQRWyqkPBkL3HwaVJUK9fyHX\/8AxpP9JUrUpN2iyu0Ywt03ASPje8j\/ABEfRRdUj2dc7bemDHJScnKQN5af9toeKnaQ\/mvR\/wB\/\/W5dtS03O9P1keMlse2O9u\/6LS9qhyYMWyq2qSfqsyzBBGQcgr1ZCbUFTQ6Ot1TS7PKuIiJdvxsgj6LU0spnpIZjxkja7zGVSUWjop1o1HZeCfudkRFU2CIvCQBknACA9US43OktVMZ6uUMb+UcXOPUB0qnuOqc1BoLNBz2rO7aG9jfv8u1eW\/TEs9U243yfnVRxEP5Gdnb3cO9aKFs5HLKu5PDSV348ERQ266uIMm1QWrPAH3pfv8u\/C0lBbqW2Uwp6SIRs4nrcesnpUkAAYAwAvVWUr5cC9OioPE85eP7oERFU3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCh3dpfZq5o4mnkH+UqYudREJ6aWE8JGFp8RhStSsleLRUaPcDpilA6C8H\/ABuVxNG2aF8Tvhe0tPcVn9Dy7dkfERgwzubjq4H6laNWnlJmOzu9GPkfmE73DSbKd7suhrnDHUNn75X6BY3mSxULjx5uwegX57c\/0LLhSncWV+QOzD\/sF+gWD+QKH+wb8lrV3Th2F\/5WuXwyxRUt01TbrYTGH84n4clFvwe08B81V8hqPUe+of7MonfkGQ5w7uJ8cBZKD1eR3T2iKeGHefL8lpdNU262Exh\/OJ+HJRb8HtPAfNVfNtQal3VbvZ1A7jGB7zh3cT44HYrq16dt1pAdBDtyj+lk3u8OrwVopxKO6U7KpU\/6vLwX5ZCttqo7TByVJEG5+Jx3ud3lTURUbvqdUYqKslkERFBIREQBERAEREAREQBERAEREAREQBERAEREAREQBEUSvudHbYuUq6hkQ6ATvd3DiUSuQ5KKuyhsTm27Vd0trsNEx5WP54Hg70Wne9kbC+RwY1oyXOOAF+fXi+S1lwivFtpJIW0oMfOHtyHZ3AHo6T5q5i03U3Mtq75dDURHD2RROwzePTwHit5x0bPOoVmrwpq+eXBWZldRzw1F+q5aaUSQvcCHN4E7Iz65Wgt1jut5tlMKy4chQiNvJwxcXN7ejzz3Kj1PDb4bqG210Rh5MZETtoB2SCPRaCh1NVut9NS2u0T1Do42x8o8e7kDHR4dIWsr4VhOKkodtPtH7XzL63aftlrIfTUw5QD8R52nevDwU6aeGnYXzysiYOLnuDR6rNez9V3Ig1VwjoGHiyH4h5f\/AGXOXTFmoDzi73OSVxB\/FkDdruHE+BWGFN5s9JVJRj3IWXPInVes7RTP2I5JKl3DELMjPeceihT6lvU8JlpbSKWIDfLVOwPM7I+ajwXZhlNNpazMJGQah7OGe37nwVhBpeaskbUX6tfWSDeImnZY3yx6YVrRjqjHHWq5Qftkvd\/gzftPUlzqDDTVk0+DgupmlrR4gDC2OnLfX2+3ujuFRy0r37eC4uLNw3ZPcrOCCGmiEUETIo28GsGAF0VJTurJHRR2Z05Y5SbYREWZ1hERAEREAREQBERAEREAREQBERAEREARc554aaIyzysijbxc84AWar9ZMLnQ2mDnDgN80h2Y29u\/64VoxctDKpWhTXeZp3vZGwvkcGNaMlzjgBUVw1fb6V4hpQ6unO4Nh3jPf9srJzVorpMXOuqq6RxGzT0u5me87vIeKt6Gjvj2NFttdNaY8Y5WQZlI6ck5PoFr2aWpwva51Mqa\/L6L1ZIlGqLo10k00dopcZ+IBwHfxHmFADdL2uUvqJ5LvVF2dw2mk+eD5lWbNGvqsPu10qKp3HZacAbus5+iuaKy223YNNSRscPzkbTvM70c4r+iVQqTd2vWTv8AbQzk9Xer\/Qmio7Mylo5ABtSbgBniM46hwBUSyWZ11nqLfc6+oaaIhgp2u3YG7Iz0eHSFu3vZGwvkcGNaMlzjgBYW\/Xmhhv1Nc7XUcrOz3Z2tyGvA7e7du7FMJOWSVitelGnadSV\/FcuS5EbWFppLVUUrKOHk2PYc+8Tkg9vetONS2y3WqkdPUcpI6Bh5OL3nfCOjo8cLEXy9VN6qmyztYxrG4YxhyADv49a2mm7FbYrZS1nNWvnkja8vf72D2A7grTVorEZbPJyrz7GyT\/dCM6v1Ffhs2+m9nUzh+NKfeI7P9h4qTSaPo2SiouE0tfP+Yyu90nu4nxK0KLDG9Fkegtni3eo8T59D4ihigjEcMbI2Dg1jQAPAL7RFQ6QiIgCIiAIi4z1VPSs26ieOJvW9wCENpanZeEgDJOAFQ1msrVTtcIHvqpG7g2JpwT3nd5ZUKRuodSN5KSH2ZQSD3s73uHUen0CuoPV5HPLaYaQ7z5dS3sl5N4fWFsQbDBLsRvBztjr+XmrVRbfQQWyjZS04OwzpJySetSlWVr5GtNSUFjeYREUGgREQBERAEREAVFqC+VltkjpqGgfUTStJa7BcB4DeVeopTSeZSpGUo2i7GCdp3Ud9kE9wmEYO8CV3DuaOHorWh0NQwsHPZpKog5DQSxo7Nxz6rUItHVk8lkc0NipJ3lm+ZHpLfR0DNikpo4RjB2G4J7zxKkKvuN8t1qaedVLQ8DPJNOXnw+6pDfL7e2Ys9v5vCTjnEpHDrGd3llVUZPM0lWp0+6tfBGkq6ymoYTNVTshYOlxxnu61n5NVz173QWK3y1Lxu5WQYYP37SF90mj4XvE93qpa+fpDnkNH1P77loIIIaaIRQRMijbwawYAU92PMratU17q930RmodMV9ydy1+uEkmd4p4ne636eQ8VcsttrtlDMGUkTIWxuMm7JLcb8k8d3WVYLMaprJqupp7BRn9LVEGVw\/K3P+xJ7B2onKbsRKFOhBySu\/dtmHkhmjpBNzctp535jed\/w5GM+Pov0zTb+U07RO6ogPLd9FU6rpKWh0q2jg2WNie0sYXbzv3nt4lVGmtT+ymijrn7dKRljm7zGeruW0r1IXRwUcOy18M3qvufoCLMv1vRvdsUVFVVT+oNx9z6L59s6nqj\/BbG2Fp\/rycjzLfksOzlxPR+qpfxz8k2aheEgDJOAFmDRaurd01fT0jDxEY94eQ+qN0U2cA3G6VVUc544+eVOFLVjtqj3YP1yLye722myJq6nYR0GQZ8lXT6yskPw1D5T1Rxn64X1Bo+yQYzSmUjpkeT6cFYwWygpvwKKCM9bYwCo7iH+w\/Be76FF\/zjJUbrfZquozwJGPkCvDX6trN0FthpGn88h3jzP0WoRTiS0Q7Go96b9LIy\/sPUVYc1t95EHi2nB4dW7ZXSDRFta4Pqpaiqd07b8A+W\/wBVpEUdpLgFstLWSv55kSktlBQ76WkiidjG01g2sd\/FS0RUbudCioqyQREQkIiIAiIgCIiAIi5zzw00RlnlZFG3i55wAgbsdF4SAMk4AWcrtYwCTm1qgfX1DuGyDsj6n996hzWmrrw2o1LdmU0R94UzXhoHnuz5960UHxyOWW0x0pq\/x7lncNXWui2mRyGqmBwGRbxn9rh5ZUF7tTX4AMjFqpHdJd75Hz+S8hvWmLJltuhM0p3ExMLnH+876LoLtqW5fxG1MpIzuD5zvHbvx8jwV1G2i9zndTHlKV+Uev8A4TrbpW20B5SSPnU5OTLMNrf1gcB81Zz1tJS\/xiqhh\/tJA35rPCwX+tO1X310WfyQZx6YXaDRFpjO1OZ6lx4mSTHywquz3mbQc4q1OnZc30uSp9V2SnyDXNe4dEbS7PiBhV51oKlxZbbVVVTuHDHyyreCwWin\/Dt8GetzNo+qsGtDRhoAHUFF4LgXwV5ayS8l1MpVXPVTqaSp5nT0MEbS8ueQXYxnGCT3cOKg2rTtwvjDd6m5PgkqM72t95zeHQRgbuHUFYakqJbrdqfT1M8hjyH1JHQOOPADPiFp4omQxMijaGsY0Na0dAHAK7lhjkrXOeNFVajUm2lz4+ngY686SoLdZamrZLPLOwAh0jgR8Q6AOpTLFYLZX6agM9IwyStO1KNz87R3gqz1O3a05Wj\/AMM+oXzpX+bVF+yf9RUY5OF78SVQpraMKjlh\/JUUdZU6SqRb7kTJbnk8hUAZ2ezH08lq4pY54myxPD2PGQ4dK+KmlgrIHQVMLJY3cWuGVloXz6PuYp5XPltNQctkOTyJ\/fz49ajKfmaJvZ8nnD4\/o16L5a5r2B7HBzXDIIOQQvpZHYEREAREQBERAEREAREQBERAEXy5zWDLnBo7Thcoq6kmm5GKqhkkAzsNkBdjuQhtI7rnPUQ0sLpp5GxxtGS5xwAqW9XS8RVPMrXbXyPLdrl3DLR3dGd3SfBUg0jernOJrpWtbk79p224dwG4LSMFrJ2OWptEk8NOLb+xKuevIIw6O2wmV3DlZRhveBxPjhZ\/nlffahvOWVFweB7sLPcY09uB9u9bCk0ZZ6Uhz4n1DhvzK7d5DA81dwwxU8YjgiZEwcGsaAB4BXxwjuo53s20VXerKy8F+9TJUlhv80TWGogtcJG+Onbh3iRvPi5T6bRVtY\/lat81ZId7jI\/AJ692\/wBVokVHUkdMdkpLVX8\/2xFpbbQ0IHNaSGIgY2msGfPiVKRFne50pJKyCIiEhR6+tjt1DNVzfBE3ax1noHicBSFxqqWCtgdBURiSNxBLSOODlSrXzKyvZ4dSj0jRyGCa7VRzUVzi7PU3PetEvljGxxtYwYa0AAdQX0pk7u5WlTVOCiV9+G1Ya4f+h3yULRshfpuBp\/I5zfUn6q1rqc1dvqaZrg0zROjBPRkEKDpu2z2q0ilqdjlA9zvcORgqbrBYzcZdupcLP5LZcK2jgr6SSlqWbccgwR9Qu6Khu0mrMyNJVVWkq5tvr3GW2yu\/Qz\/1f79I8Qta1wc0OaQQRkEdKj19DDcaOSlnHuvG4ji09BHaFQaer57ZWu09cne\/H\/FpDwe3q+3iOhaPvq\/E5Y3oSUHuvTly6GoREWZ1hERAERRKu50NAP4VVRRH9Vzt\/lxRK5Dkoq7ZLRZqbWcEr+StdDUV0nY3ZH1Povjm+q7t+PURWyI592L4vTf6hXwPjkc72mLygnLy66GkmqIKZm3PNHE39Z7g0eqpqzWFnpQQ2c1D\/wBWJufU7lwg0TQbYkraiorJM7y9+Afr6q4pLTb6HHNqOGMj8wbl3md6nuLmL7RLgo\/co3agv1dvtlkc2M\/DJP8Am6iOA9Sns\/VlaM1FzhpGk\/BEN48h9VqETHbRD6dvfm39vgzDdEQTP5SvuNVVP6ycfPJVnbtOWy11AqKWFwlAxtOeTu6d3BWiKHOT4lo7PSi7qOYREVDcIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCpNTWd1yomz02RWUx24i3iez7dqu1zmmip4zJPKyJg4ue4ADxKmLad0Z1IRnBxloQLBd23i3NmIDZ2e7MwHg7rx1FWawD71TWjVNRU2z+FwVA9+NhIBeeo46\/mVb\/8AVd3P9Fa4c97yD57\/ACWkqed9EctLarxw2vJZZfPgaCruFHQM26upjhGMjbdgnuHEqgm1lzh5itFunrJMH3iCAO3A3n0XWi0Zb4H8tWPkrZs5LpDhpPd9yVfQwxU8YjgiZEwcGsaAB4BR3FzNLV5691e76GZ5hqm7HNZWst8JIzHD8WMdm\/zKl0ejLVTkPnY+qk4kyHDc\/sj65V+ih1HwyJWzU73lm+eZzhghp2BkETImDg1jQ0ei6IiodKVgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCKPV19JQR8pV1EcLTnG27BPcOnwVDUayZNK6Cz0M1dJjc4NIA8MZx5Kyi3oZVK1OnvM0yrbjqC2WsllTUjlAPw2Dad6cPFU5tOo7z71xr20ULm4MMGc9xH+5Vlb9LWm3bLm04mlA\/El94+XAeStaK1Zl2lWe5Gy8X0K52obxdSW2W1vbERunnGPLo9SvYtJ1Fc9k18uMlS4b+SYcNHj9gFpwABgDAC9THbdVh9OpZ1Hi+PYzGpbHRwadldRUzIXQOEgLBvPQcnidxV5aqz2ha6ar6ZYwXbvzdPrld5oWVEEkEgyyRpa4dYIwVntHvfTc\/tMmc0c3uk9IOftnxS+KPkRZU66tpJW9V\/RpURFmdYREQBERAEREAREQBERAEREAREQBERAEREARFQXHWVroXviYZKiVpILWNwAR0En6ZUqLloZ1KkKavN2L9caiqp6SPlKmeOFn60jg0eqwFdrO61uWUoFMwjGIxtO8\/suNPQ1dRKZZrRX10xI9+dzmtPfuyeI\/MtlRa3jilt8W7U1f99zUVWtbex3J0MU1bKeAY0tafE7\/AEXEO1XeOAjtcGSOHv4+fyXGkh1PTs2aS1UFE0jHu4zjtO0SV3NHrKXc640kQ6cAZP8AlS0VpYrjqT38Xklb5zO1FoyghkE1bLLXS8SZDhpPd9yVfQQQ00QigiZFG3g1gwAs57F1M7e6\/AHqa04+Sew9Sf8Af\/Qqrz1ka032e5Sa9upp0WY9l6ti3Q3qB465G7\/VpXuxrKl38pR1mB8O4Z9GquDmjX6h8YP99TTIsudTXii33GxSBn68ROB8x6qbR6us1Zu5zyDv1Zhs+vD1RwkTHaaTdr2fPL5LtZekIp\/+IVYzgJ4AQO3DT9CtO1wc0OaQQRkEdKzVxPJa8trm7i+Eg7uPxKYcVyI2j+L8GuhpkRFmdIREQBERAEREAREQBERAEREAREQBERAEREAUB1ktb5nTOoIHSPJc5zmA5J3n5oilNoq4xlqiTDSU1Nugp4ov2GBvyXZEUEpJaBERCQiIgCIiAKBW2S23AE1FJGXn+kaNl4PeN6IpTa0KyjGStJXKY6TraFwfZ7vLDs8I5d7fHG7j2L6prRe6i7U1Vc6mEil+F0TRl\/fuHciK\/aMw+lpp5XS8L5GmREWZ0hERAEREAREQBERAEREB\/9k=",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:05",
    "ubicacionGPS": "LatLng(lat: -23.7719339, lng: -70.3229646)",
    "horaLlegada": "10:01",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 10:04:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 10:04:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[15/06/2026 10:04:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78876040', 'EP2355', 1, 24456550, 42530, NOW(), 
				'08:00', '10:01', '10:05', 3, '•Se hace limpieza de escáner ADF, se elimina la línea al escanear
', -1, 
				'', '','1','129863',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781532263.png', '•Pendiente cambio de RGOM2393 y RGOM2394', null, 'REPROGRAMADO','LatLng(lat: -23.7719339, lng: -70.3229646)' )
				
[15/06/2026 10:04:23] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200714

15/06/2026 10:04:23 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200714'                    
				WHERE idllamado = 13015			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl, khapo73@gmail.com


15/06/2026 10:04:23 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 13015			
				
15/06/2026 10:04:23 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('78876040', 'EP2355', 1, 'APP', 'sin otroTipo definido', -2, 'ATASCO PAPEL', 'Sin coderror', '1', 'SI', now(), 'EMERSON ORDOÑEZ', '984818954', 'eordonez@mercosurltda.cl', 13015)
				
15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:23 Insertado nuevo llamado creado idllamado: 13017APP
15/06/2026 10:04:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 10:04:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13015
            GROUP BY l.idllamado;
            

15/06/2026 10:04:26 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 10:04:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:04:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:04:26 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 10:04:26] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:04:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:04:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13015
                

15/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:07:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:13:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:14:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                
=========================================
FECHA: 15/06/2026 10:14:11
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-Xe4Ejz5iM4VXfuPGCKSNsaW+1fUNXiQl4J++J8Xn.+croDoS3mp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "74454100",
    "serieinterna": "EP2480",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "14628",
    "contadorColor": "36929",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13013",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+AKcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABDEAABAwMCAwUFBgMGBAcAAAABAAIDBAURBiESMUETUWFxgSIykaGxFBUjQsHwJNHhFiUzUsLxYoKisgdDRFZy0uL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAxEQACAQIDBgQGAQUAAAAAAAAAAQIDERIhMQQiQVFhcRMygcGRobHR4fAUI0JicvH\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCLTVVdPRQOnqZWxRt5ucVWjdbzqKR0doZ9kowSDVP5uHh\/T4hSUWympWjB21fJE3cb5brUCKqoaJMZEbd3n0\/moj+1dXXZFntE84zgSyDDc58PDxXZbdKW2gHHLGKuc7ukmGcnwHIfXxU0AAMAYAUrxWmZXhrz1eHtm\/iVgQaxrXh0lTTULc7taAf5\/VZFk1IDn7+z4cJVnRcxvkd\/jR4yb9WVjOsKDBIpq9jeeMAkfL9fVdVp1PFX1Ao6unkoqwjZkgwHeWd8+CnVWtb07PuuOtaeCenlbwPA336Z+fopJqTs0QnGdGLnGTaXBllRa4JDLTxyEAF7A445bhFUbE7mxERAEUTaNQ0t4qZ4II3tMP5nYw4ZI2x6fFSy6007MhCcZrFF3QREXCYREQHiWWOCJ0sz2xxsGXOccABctBd6G5vlbRzdqYscZDSAMkgb+hVfu1TLqS8Ns1FJw0sJ4qidnkQR88efksaQpoXXe51dPGI4Wu7KJo3w3Of0CtwJRu9TF\/IlKqoxWWn\/Oxblz11bBbqR9VUv4Y2DPiT3DxStrae30r6mpkDI2Dc9\/gPFVukpKnVVY24XBhjt0Z\/Apz+fxKjGN83oXVari8EM5P9uzzQ0FRqqrNyugeyhaf4enzsR3+W3Pr5K1xRRwxNiiYGMYMNa0YAC9NaGtDWgAAYAHRZXJSudpUlTV9W9WERctxr4bZQy1c59mMbDO7j0AUUrlrairshNV3uSma21UQLquqAacfladsDxKmbVRPt9thpZJ3TvYPakcScknPwVN0yye76qfcKoZcxplOT3jDRjy5eSvytmsKUTHs0nVlKq+y7BVTUkjrveaOwQ7tDhJUEfl2\/QZPjkKQvuoWW7hpaNoqK+U8LIm78Pnj6L1p+xm2RPqKp\/bV0+8sh3Iz0zzPJcjurEyVV+K\/Cjpx+3qTAAAwBgBFlFWawobVVxFvsc2HESzjso8HffmfhlTKq1zIvOsKS3Bx7GiHayjoTscf9o9SpwWeZn2iTVO0dXkvU5NC0r4K+4tecOhDY3DHXJz9CroqxorEsNwqxuJqk7nbx\/1KzrtV3kyGxxSoK3X6mHODWlziAAMknotFFX01whM1LKJGBxbkeCres7yWwOtdLl8pw6ctGeBowcHz29PNd2jKc0+nYnOaAZnuk8+g+iYLQxM6q+Kv4cdEsyeVf1Jc5gWWe3gPrKscJwd2NPM+G2d+g3UzW1kNBRy1U7uGOMZJ+g+KgNLUctVUVF\/rG\/i1ZIiGfdZn+gA8B4rkVbeZ2tJyapR1evRHZT0UOmtOTcBzIyJz5JAN3vx+wFr0ZTfZ9OxOIwZ3ukP0HyAWrW1UY7THRxn8SrlDA3OMgbn54+K836sfarTTWahHHVzxiFrWjcNxgnz\/r3KaTku5S5Qp1G+EF82c83FqjUhpwf7vt59s42kdkZHjnHwBVsa0NaGtAAAwAOirH22l0nQw22Bgq655BeyMYJJ6n05KWsN2F5twquz7NwcWOHiAN\/n4rk07XWhOhKKk1J77zf29CSREVRsCqVS46o1G2lZk2+3uzL3Pfk7eRxjyyu3VN2kpqdttogX1tWOENaNww5BI8enx7lIWS0xWa3MpmYdJzkkAxxu\/eysW6sXEyVP60\/DWi19kV6WqdpzVFZM+jmkhqWDshE0e0dvhg5C3vuOor010NFQG3RnGZpSc48Dj6BWpExrlmFs8ldKbS5fkh7LpyktH4289W4e1M\/nnrjuUwiKDbbuzRCEYRwxVkERFwmYJAGScAKnWWpLqC\/Xt2SZC8R5PLAJA\/6grFfqn7HYqyYHBERa09xOw+ZVbnZ93f8AhyxmSH1PCc8vedn\/ALQrYLLuYdolv\/6pv2RMaOg7HTcBIwZS55+JA+QCkLtcGWu2TVj8Esb7LT+Zx5D4paIDTWejhcMOZCwOHjjf5qvVxOotVx24YdRUB45tvecOY+OG481y2KTb0JuTpUYxjq7JdyKq6SWksHbz8T7hdpQMuPtCPIODnxA+SvdFTNo6KGmYBwxMDNuuAq9dT9t1tbKQDLaZpldnkDuf9LfirHU1EdJTS1MzuGOJpc4+AXZttIhs0IwlN8Fl8M382UvW94L6tlsYA6GItklGfed3HHTH1V1gjbDTxxNYGNYwNDRyaAOS+Z0Eb7vqCnfKCX1NQZHZOfZByemOhHpyHX6Feq8Wy0VFVxAPazEeerjsPmpVI2tFFey1MTqVpaexBQmO96ylqXOzS2xuGk8uLv8Ajk\/8oUOb5x3mqusTTNUPd2FExw90cuLHkeX\/ABFSDXPs2hHTucftNeff6ni5b\/8AxBP7ytujdPNhhbdKuPMr94Gn8rf83mf3zUskm32KLVJyjGOr3n0vp8Eb4LUyx2atudc8S18sTi97znhcRs0eZIGV16PpzBpyDIw6Rznn4kD5ALj1VIbhcKCxRvIM7+0lIHJv7Dj6BWSnELYGMp+HsmDgaGnIAG2PTGFXJvDnxNlGEVVajpFW9XmzYua4V0NtoZaudwDY2kgZxxHoB4ldKqErjq6+iFhP3XRHiLwNpXd376Z71CMb66F1ao4K0fM9Dp01QTVlVJf68ZlnJNO0nPZtOf02Hh5qzLDWhrQ1oAAGAB0WUlLE7kqVNU44QiIoloREQBERAVrWsjn0NLQxn8SqqA0d5HLl5kLTquNj32e0MyWyTNBH\/CMNGceZXuuH2\/XlHA7\/AA6OLtCOftc\/\/r8F6r\/4rXlvixllPCXuI6HDiPoFfHK3xPMqb7m+bUfuS97uH3ZaKiqBAe1uGZ\/zHYLi0nbDQWhs0o\/iKr8SQnnj8oPoc+pUdcHO1Hqdtra4\/YaI8c2AN3j+pxjzVjuFQ2gtlRO3DRDE4tAHLA2Cg1aOHmaItTqOo9I5L3fsQFg\/vDVF1uR9pkZ7GNx+G3o35rh1vey94tVO\/wBlu8+Op2Ib6c\/gumy1TLBo43CVoMtQ8uY0nd5OwHwBKgJab7PVUjqv8SeRjq2o4gCerg09dwNxt7yuiljvyMFWpJUFBayzfq\/30JfR1EPvqokyMUcQiIA5PPPn4h37wu7UzpLndqGxwkFj3drPjo0d\/pn5LbpKFtBpx9dOTmYume4nfhH+xPqq5HXzPlqq6IOkuNyeY6ZoG7I84J+QaPIrms2+RK6p0Iwf92b7ftkdd3r471qiht0TQ6kp5gwt5Nec+16YGB\/VXprQ1oa0AADAA6Kk01pitWrrRRDDnNgdI94GOJ3tn9APRXV7GyMcx4y1wII7wq6lskjVsik3OU9b+x83r7hU3S\/Vj6Hjc6QOjaWnZsYGCfUDn+xZdCiT7kke973cU7uEEkgDA5euV7ktFHpywV8tOCZXwuBldz3GAB3DO6xZqmKx6Mhq6gZGC\/hHNxc7YD0wpykpRsiijTlTrYqjzs2+hnU1zmJjstvy6sq9iWnHZt\/qM+mVK2m2Q2i3spYRy3e7\/M7qVEaVoJ5O1vVeAamrOWbDZmNiO7P0AVkVcnbdRroxc34suOnRfkIsOcGtLnEAAZJPRV2t1hTNm+zWyB9wnOw4M8P9f3uoqLloXVKsKavJliJAGScAKJrNUWejyH1jJHD8sXt\/MbKNZZLzendpe6008B\/9LAcbdx6fHJUtRadtNAQ6GjjLxyfIOI+e\/L0UrRWrKcdafkVl1+xFDWNRUEuobFV1MQPv7j6NP1Wf7R3z\/wBuTfF38lZgABgDAC8TTR08L5pnhkbBlznHYBMUeQ8Krq6nyRHWi9\/ec01PNSS0lTDu6KQH3ehzgIozTAfdLrXX6RhY2Q9lEHHOwx\/IfEouTSTsiezzlOnif6jroLXUxaqr7lPGOzlYGxO4gdtunooS53Ntt1dcqpx\/EipQ2Ad7yGY+pPorwuCoslvqq9lbNBxTMxg5ODjlkLsZq+ZVV2duCVN53vmcul7YbdaWulyZ6g9pISc8+XUrVrObstPSMyAZntYMnHXP6KeUNqSyzXukighmbGWP4jxE4O2EjK87snUpuNBwguFiDoqcX2601C6PNvtUQa\/oJHgYOfXPoD3qM1DUdvdbrOXbNcynaB0Of\/w74q9UFDTWS2dlH7kTS57j16kqgUsbqkUBkxxV9wLn432BaP8AU5XQd3c8\/aKbhBRerzf0XwuWLU84tOl6e2MwHysbH\/ytxxHzzj4la9FWYiMXWpBc4jhpwc+w3cE+ufr3qdudiortU089U0uMB90HZw7j4KRa0NaGtAAAwAOiqx7lkbFszdfxJaLQrN9P2PVtorj7r8wnw5j\/AFqzqA1nRvqbE6SNpL6d4l9nmByJ+Bz6KVttbHcLdBVRuBEjATg8j1HoVyWcUyynu1px52fsyK1q8t07I0OwHyNB8d8\/oom3wSamqqVvCWWu2hrGg\/8AmuAH8h5DzVxmhiqIzHNG2Rh5tcMhYpqaCkgbDTxNijaMBrQinaNuJGps7nVxN5cuxsa0NaGtAAAwAOiibzqOjtB7Egz1TvdgYd\/DJ6LgueoKmsqnWuwx9tNjEk\/5WDvB\/X4ZXbZdOwWomeR5qax+7p37kd4H8+aKKWcjrqyqPDS9Xw9OZGNtN61C8SXmb7JSZ4hTR7E+fd658lYqC2Udti7Ojp2RDqQN3eZ5ldSKLk3kWU6EYO+r5vUIi5a+40lspzPVzCNvQdXHuA6qKVy1tRV2dLnBrS5xAAGST0VRq6qp1dWmgoSYrbE4dtNj\/E\/fQepSSpuurSIKeB1FbS78SVx9p47vHyG3eVZ6Kip7fSspqaMMjYNh3+J8Vb5O5kbe0ZLKH1\/Bsp4I6WnjghaGRxtDWgdAi2IqjYlbJBERAEREBw3kTGzVjYI3SSvic1rWjckjG3xVZgtdXEdOxillxC9z5iYj7BLs7nGyuiKcZ2VjPUoKpLE3+3uERFA0HlzWvYWPaHNcMEEZBCqThUaNr3yNjM1qqX5IHOI\/v4q3rXO6FkD3zlgiaMvL+QHipRlbIpq08dmnZrRmmjuNHX032imqGSRgZcQfd8x09VW66vrNUVUlstLuzombT1Jzhw7vLw6+Sio7TFf7pILLA+jom5bLM4kh3kM\/L6bKWpbLqa0RdlQVtLJCOUbm437+X6q3DGPHPqYXVq1VZx3eLXHt0LDa7XS2mkFPSswObnHm895XYqx94avh\/wAS000rR1Y4ZP8A1fohvGqXkCOxxtJH53bfUKDg3nc0xrwirKLXoyzrTVVlNRRdrVTshZ3vdjKrro9Y144HvpqFp5lhGf1Wym0XS9r21xqpq6U4yXnAP1PzTDFas741SXkh8cvyYqNWmqnNJZKR9ZMRgSEEMB7\/AC88BYoNLy1NR9vv0v2mc7iHOWN\/fcNvNWGCmgpYxHTwsiYPysaAFtXMdsonVQcneq79OH73MNaGtDWgAAYAHRZRFA0hERAEREAREQBERAEReXvbHG6R7g1rQS4noEB5mmjp4XzTPDI2DLnOOwCqUslbrKp7KDiprTE\/D3nnIf306cyjn1Gs7g6KNzobTTu9ojYyn+f0Vtp6eKlgZBBGI42DDWt5BW+TuY89pf8Ah9fweaSkgoaZlNTRiOJgwAFuRFUa0klZBERDoREQBERAEREAREQBERAEREAREQGCQBknACqdbWT6rr32u3v4KCIg1E4\/PvyHw278ZW\/UNzmq6uOxWyTM0x4ah7Rns2\/7Zz\/VTVrtdPaaJtLTjYbucRu895Vi3Vd6mSbdaWBeVa9en3NtHRwUFJHS0zOCOMYA\/UreiKs1JJKyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCiNQ3ptooj2RDquX2YY8ZJOeeFJVNRHSU0tTM7hjiaXOPgFWrDTzXu6vv9YHCJpLaRhxgDcfL65U4pavQz1pvKnDV\/JcyQ03Z3W6nfVVLi+sq8PmLhu0nfHz3U0iKLbbuy2nBU4qMQiIuEwiIgCIiAIiIAiIgCIiAIiIAiIgCIorUN3Fntbpmkds88EQIz7XfjuXUruyIzmoRcnoiHvU0moryyx0ryKaF3FUytHuuGdv08\/JWmGGOnhZDCwMjYMNa0bAKK0zaDa7aDKP4mow+YnOc9AfLJUypTfBaIooQedSfmfy6BERQNIREQBERAEREAREQBERAEREAREQBERAFUw06k1Z2nOhtpwMg4e\/8A3A9ArHcIZ6i3zw00jY5nsLWOdyB8VoslrZZ7XHSAhz\/ekcPzOPP9B6KcXZN8TPVi6k1Dhq\/ZEgiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/\/Z",
    "razonSocial": "FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "DANILO PALACIOS",
    "correoContacto": "danilo.palacios@medimel.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1048\",\"id_control\":\"29010\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1049\",\"id_control\":\"29010\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I661\",\"id_control\":\"29010\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I662\",\"id_control\":\"29010\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:15",
    "ubicacionGPS": "LatLng(lat: -23.6565523, lng: -70.4000974)",
    "horaLlegada": "10:02",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 10:14:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 10:14:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:74454100

[15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('74454100', 'EP2480', 1, 19969062, 14628, NOW(), 
				'08:00', '10:02', '10:15', 10, 'Entrega de insumos', -1, 
				'', '','1','36929',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781532851.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -23.6565523, lng: -70.4000974)' )
				
[15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200715
[15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200715', 'EPS-I1048', 2)
				
[15/06/2026 10:14:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29010 and
				    IDproducto = 'EPS-I1048'
				

15/06/2026 10:14:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1048';
                [15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200715', 'EPS-I1049', 2)
				
[15/06/2026 10:14:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29010 and
				    IDproducto = 'EPS-I1049'
				

15/06/2026 10:14:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1049';
                [15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200715', 'EPS-I661', 2)
				
[15/06/2026 10:14:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29010 and
				    IDproducto = 'EPS-I661'
				

15/06/2026 10:14:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I661';
                [15/06/2026 10:14:11] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200715', 'EPS-I662', 2)
				
[15/06/2026 10:14:11] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29010 and
				    IDproducto = 'EPS-I662'
				

15/06/2026 10:14:11 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I662';
                
15/06/2026 10:14:11 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200715'                    
				WHERE idllamado = 13013			
				TO ENVIO: micorreo@miempresa.cl, danilo.palacios@medimel.cl, khapo73@gmail.com


15/06/2026 10:14:11 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13013			
				
15/06/2026 10:14:11 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:14:14 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:14:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:14:14 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:14:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:14:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13013
            GROUP BY l.idllamado;
            

15/06/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                

15/06/2026 10:14:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13013
                
[15/06/2026 10:31:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '20988335'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 10:31:01 - INPUT: {"rutTecnico":"20988335"}[15/06/2026 10:31:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 20988335 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '20988335'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 10:31:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION NUESTRA SEÑORA DE ANDACOLLO
            [ciudad] => LA SERENA
            [RutCliente] => 73836100
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TUTORIAS PREU GAUSS LA SERENA SPA 
            [ciudad] => LA SERENA
            [RutCliente] => 76669222
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MFC-L6700DW
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => MA5500IFX
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => COLEGIO INGLES CATOLICO DE LA SERENA SA
            [ciudad] => LA SERENA
            [RutCliente] => 91770000
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 09/06/2026
        )

)

15/06/2026 10:32:28 - INPUT: {"rutTecnico":"20988335"}
[15/06/2026 10:32:28] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:32:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13018
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61308000
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO2971
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:32:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:30 - INPUT: {"rutTecnico":"20988335"}
[15/06/2026 10:32:30] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:32:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13018
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61308000
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO2971
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:31 - INPUT: {"rutTecnico":"20988335"}
[15/06/2026 10:32:31] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:32:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => FRANCO MONDACA
            [RUTTecnico] => 20988335
            [idllamado] => 13018
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:22
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61308000
            [ClienteRazonSocial] => SERVICIO AGRICOLA Y GANADERO 
            [ciudad] => LA SERENA 
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO2971
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:32:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                
[15/06/2026 10:33:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 10:33:38 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 10:33:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 10:33:38 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 10:33:38 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 10:33:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:33:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 10:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:34:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:34:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:34:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                
=========================================
FECHA: 15/06/2026 10:34:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-a3FmEoDYBt.nPkenfcN2r1KRVGm8fSFTF1eo-suJSzqouCtDIPJ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61308000",
    "serieinterna": "TO2971",
    "correlativo": "1",
    "ddServicio": "Taller",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "20988335",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se realiza configuración de servidor smtp, ya que este habia sido eliminado porque la maquina se restauró a valores de fábrica.\nsin contador",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13018",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAOQDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABBEAABAwMCAgYHBQYEBwAAAAABAAIDBAURBiESMRNBUWGRwRQiMnGBobEHFSPC0RYkM5Ki4TVCUtJDU2NydLLw\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALxEAAgECBAMGBgMBAAAAAAAAAAECAxESITFBBDJREzNhcZGxFCKBwdHwI2Kh4f\/aAAwDAQACEQMRAD8A\/syLEuep6egrTRRU81TUDm1gwByPPr+AK4jWaruWDS0cVvjJ2fNji+IOT8lNQerM8uIgnZXb8EVC+ZJGRML5HtY0cy44AU1+z9+qNqnUD2NPMRA\/qF9R6IonPD6yrqql3XxPwD5\/NMMd2c7Wq+WHq1\/07KzVdno2k+lCdw\/ywDjz8eXzXJT3a+XaqjNHQ+iUZO8s7cuI7RnHyytSjsVsoCDT0cbXAY4yOJ3iVoJeK0QUKsueVvBfkIiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiICbPDQ67aA4j06DfIyNgdue3s\/NUimdTk0l2tFwGA1kvA87DYkdfuJ2VMpy0TM1HKU4+PuERFA0hERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAYWsKP0rT0zgMvgIkb8Nj8iVpWqrFda6aqByZIwXYzz5Hn35XtVQCppJqd3KVjmH4jCwdEzONolpJNn0szmcPYDv9cqzWHkZn8vEL+y9ijREVZpCIiAIiICavGppbVqCCjeyP0VzWukdg8QySPAc1SqF1lBLUakgZAcSCjLxjn6vG7bv2VTYbj96WeCpcQZCOGTHU4bf3+KtnFYU0YqFWTrThJ+RooiKo2hERAcjrnSsubLaXn0l7OMN4TjG\/X8F1qVlkD\/tGhaP8kHCf5SfNVSlJWsU0qjnivs7BERRLgiIgCIs67Xyhs0YdUvJkcMtiZu536DvXUm8kRlKMFik7I0UUsLvqW6MElutrKaE8nzOBJ7xnH0X0Lbqyfea7wRA7cLG8vBoU8HVlHxF+WLf0\/JTopjoNZUx2qqSqA5ZAHkF+HUF+oTm5WMuZ1upzkDw4vquYHsx8TFc0Wvp+CoRY1Dquz12Gip6B5\/yTjh+fL5rYa4OaHNIIIyCOtRaa1LoVITV4u5+oiLhMKXsv7lrG60WCGzDpmjq5g\/mPgqhTF14aPW9sqcACdhiJ7TuPzBThujNxGWGfRr\/cinREUDSEREAREQExW+t9olvxvwUxz3bSfqF5W\/GmtSSW+Q8NFXetA4nYO7PLwXq71vtEbnfgptu7Y\/qVoaltH3vbC2PaohPHERzJ6x8frhXXWSeljzlBtSnHVSf2uvqa6LJ07d23a2Ne4\/vEWGTNPPi7fitZVNWdmboTU4qUdGERec8zaenkmf7MbC4742AyuE27EP8AeIP2i9KPZ6boP6eD6q8X819He3TLLsR+L6fxgjsx\/uC\/pDHiRjXt5OAIV1Vaeh5\/BSbxX3z9T6REVJ6AREQGZfrs20W8zDBmkPBE09bsczjqCz7Dp10bvvK7fvFdL62H7iP+\/wBOpc9SwXvW7IHZdTW5nE4dRdsfqR\/KqtWN4Y2W5kiu2qOctFkvuwiIqzWEREBn11jtlxB9JpI3PI9to4XeIXtb7fBbKRtLTBwjaSQHHJ33XUi7d2sQVOCliSzCIi4TCmNbNMNNQ17PbpqgY7s7\/VoVOsfVcBn03VtAyWtD\/Agn5ZU4O0kUcTHFRkvD2NZrmvYHtOWuGQe0L6WdYJ\/SLDRSdfQtadusbeS0VFqzsWwliipdQiIuEgiIgJij\/E+0OuI5R0wGe3Zn6\/JU6mLIA\/WF4fuS0Buc56\/7fJU6nPVGbhuVvq37klXj9mdSMuDMihrjwztA2a7t8d\/FVgIIyDkFcl1tsV2t8lJNtxDLXf6XdRWTpW4S8EtornYq6MloB5uYOWO3H0wuv5o33RGH8VXBtLTz3RRLG1ZUmm05VFpw6QCMfE4PyytlTGtiZoKCgafWqakYxzONvzBcgryRZxMsNGTX7c+qy3dHoH0Zo9aOBspx25Dnea1NP1HpVgopf+kGn3t9U\/Rds0LJqd8Dh6j2FhHcRhT+iJnfdU1JJtJTTuaW45A\/3yu3vF+ZWoqnWiuqt6FIiIqzWF8ve2NjnvOGtBJPYF9LPvs5prFWyjYiFwBzjBIwPqupXdiM5YYuXQydGRGWKuucjQJKqoO+c7cz8yfBUyx9KQdBpylGMF4Lz8T+mFsKU3eTKuGjhox\/dQiIoF4REQBERAEREAXjVw+k0c8B\/wCLG5niML2RDjV1YndDzmSwdE7YwTOZjwd5lUSmNKD0a7Xmh5Bk\/E0dWMnq92FTqdTmZn4V\/wAMU9svTIIiKBpCIiAmNMESagvsgOwnA9\/rP\/RU6mNF\/iC5T4\/iVJ38T5qnU6nMZuE7lPz9wpjVFLJQVEGoKMfjQOAmHU9nLf6fHuVOviWJk0T4pGhzHtLXNPWDzC5F2dyyrT7SGHfbzPOjq4q6jiqoTlkrQ4d3cp+5fveurbTjdsERkd3Hc+TfFedmlfp6+SWOocXU9QekpXnqJ6vjjHvHevS2Zq9dXKoO7YIxG3rwdh5HxVijhbfgZZVO0jGL1uk\/pmU6mLD+66svNHyDyJgPjn86p1L1WaP7QKWQZ4auDhce\/BGP6WqEN0XcRk4S6P3yKhERQNIU7rebo7D0QyTPK1mAefM\/UBUSmNabttrTuDUjI7VOnzIzcU7UZFFSwimpIYAciJjWeAwvVEUDQlZWCIiHQiIgCIiAIiIAiIgJeI+hfaDM12zaynyM9wG\/9BWvVX61UZInrogWnBDTxEHvAypzVlqgk1Bb5JHyBla8RyEO9nBaNs8ua3aXS1mpAMUTJT2y+vn4HZXSw2TZgpuqpThBLXfxzOy3XOkusDp6OQyRteWElpG+Aev3hda84KeCmj6OnhjiZnPDG0NHgF6Kp22NscVvm1CIi4SJjQXrWeokJy51Sc\/yt\/VU6mNA\/wCBzf8Aku\/9WqnVlTnZm4TuIhERVmkydQ2Y3eiaIXCOqgdxwyZIwesZ+HyC+dPWaW0wzvqZumqah\/FI7ORtnG\/XzJ+PxWwilidsJV2MO07TcKY1b+BcLPWgfwqjBPVjLT5FU6m9cxudZI5W84Z2uz2DBH1IXafMiviu5k+mfoUiLzhkE0EcoIIe0OBHeF6KBp1CmNXnNVaIyMtdVDPi39VTqY1uHRQUFY0\/wKgdWQM7\/lU6fMjNxfcv93KdF8se2SNsjHBzXAFpHWF9KBpCIiAIiIAiIgCIiAIiICa1xEfuqCrZkSU07XBw6gf74VDDK2eCOZnsyNDh7iMrg1FB6Tp+tjxkiIuA\/wC31vJfGl5jPpyjcXcRazg93CSPoFY84GaPy8Q11V\/Q1kRFWaQviUlsT3DYhpIX2uevkEVuqZCcBkT3Z7MAojknZNmFoQAWF5HXUOJ8GqlWBoqMs05G4jHHI9w798eS31OpzMo4VWox8giIoGgIiIAsjVMPT6brGgbtYH+BB8lrrmuMRnttVCBkyQvbj3ghdi7NMrqxxQa6o59PzdPYKJ+SfwWtJPdt5LRWBoqbpNORs\/5Uj2\/PPmt9dmrSZGhLFSi\/BBctxoIrlQS0k3syDGRzaeo+K6kUU7FrSkrMmNOXN1BI6xXMiKeA4he44EjeoZ+nd7lTrOu9kpLxDwzt4ZWj8OZvtMPn7lj2a8zWyqNkvTuGRhxBO47PbyGT9CrGsWa1MsJOi1Cemz+zKlERVmsIiIAiLluVwhtdC+sqA8xsxkMGScnCJXOSairs6kXxDKyeFk0ZyyRoc09x3RDp9oiID4mjbNC+J3svaWn3FT2hZC+wOaST0c7mju2B81SKY0HhtnqI+ttU7P8AK39FNcjM0+\/h5P7FOiIoGkLO1BIY9P1zh1wub4jHmtFYur38GmavfBdwAfzhSjzIqrO1KT8GfelmdHpuib2sLvFxPmtdcNlZ0dkoWHmKdmffwhdyS1Z2krU4rwQREUSwIiIAvOZ0jYJHRNDpA0lrT1nGwXoiAlNAy5t1XDjBZPxFuOWQB5KrXBbrRT2yeqlgdIfSn8bmuIw05PLAG2671ObTldFHDwlTpKMtgiIoF4XHcrXSXamMFVHxDfhePaYe0FdiLqdtDkoqSs9CSDNRabJbG0XKgbkgE+uxv1HzC07fqu110ghdIaabkY5xw79meS2lw19lt1yJdVUrHvxjpAMO8VPEnzIzKlUp93LLo\/ydrXBzQ5pBBGQR1r9UwNHSU+1BequmZ\/pBPkR1oNLXTr1PWf1f71zDHqd7WtvT\/wBRTEgDJOAFj3+utZtFVBU1cWXMOGNeC4uG429+Fw\/sYZtq281lQOzOPfzJXbS6Ss1I9kjaYyPYQQ6R5O47uXyXVhWdyMnWmnHCl5v8HtpvpxYKRtQ3Dms4RnOeEHA58tv\/AIckWm1oa0NaAABgAdSKDd3c0wjhio9D9REXCQU1o4CJ1zpQD+DUkHI94\/Kt2upBXUUtMZXxdIMccZwQsfTViq7NU1pnkZJHM4cLuLLnYJwSMbc+1TVsLM1RSdaDSyzzKBERQNIWVqK2TXa1OpIHMa8va7LzgbLVRdTs7kZwU4uL0Z5wRmGnjiJyWMDc+4L0RFwklYIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SERVICIO AGRICOLA Y GANADERO ",
    "nombreTecnico": "FRANCO MONDACA",
    "nombreContacto": "CRISTIAN MICHEA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "SILBERTO.CABELLO@SAG.GOB.CL",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56961689910",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:35",
    "ubicacionGPS": "LatLng(lat: -29.9255723, lng: -71.2579251)",
    "horaLlegada": "10:23",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 10:34:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 10:34:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61308000

[15/06/2026 10:34:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61308000', 'TO2971', 1, 20988335, 0, NOW(), 
				'08:00', '10:23', '10:35', 14, 'Se realiza configuración de servidor smtp, ya que este habia sido eliminado porque la maquina se restauró a valores de fábrica.
sin contador', -1, 
				'', '','1','0',
				'0',3,'../csj.digital-service.cl/uploads/firmas/firma_0_1781534097.png', '', null, 'COMPLETADO','LatLng(lat: -29.9255723, lng: -71.2579251)' )
				
[15/06/2026 10:34:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200716

15/06/2026 10:34:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200716'                    
				WHERE idllamado = 13018			
				TO ENVIO: SILBERTO.CABELLO@SAG.GOB.CL, tecnico@dsprint.cl, khapo73@gmail.com


15/06/2026 10:34:58 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13018			
				
15/06/2026 10:34:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:34:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:34:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:00 - INPUT: {"rutTecnico":"20988335"}
[15/06/2026 10:35:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:35:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
15/06/2026 10:35:00 - INPUT: {"rutTecnico":"20988335"}
[15/06/2026 10:35:00] Llamados.php->getLlamadosByTecnico: RUT: 20988335 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '20988335'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 10:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:35:00 [LlamadosController.php] - [llamadosByTecnicoAction]: arrLlamados está vacío o null
15/06/2026 10:35:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13018
            GROUP BY l.idllamado;
            

15/06/2026 10:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 10:35:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13018
                

15/06/2026 11:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:01 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

[15/06/2026 11:10:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:01 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:05 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

[15/06/2026 11:10:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:05 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:13 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:13 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[15/06/2026 11:10:13] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:17 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 11:10:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:18 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:18 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 11:10:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:20 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:10:20 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 11:10:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:22 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:10:22 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:10:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:10:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:10:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:17:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:17:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:17:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 11:17:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 11:17:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:17:51 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:17:51 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

[15/06/2026 11:17:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:55 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:17:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 11:17:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:17:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 11:17:55 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:17:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 11:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:17:57 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:17:57 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:17:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:17:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

[15/06/2026 11:17:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:17:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:18:01 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:18:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:01 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

[15/06/2026 11:18:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:18:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:18:01 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:18:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:01 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:18:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:06 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:18:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:06 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:18:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

[15/06/2026 11:18:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:18:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:18:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:18:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:18:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:22:06 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

[15/06/2026 11:22:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:06 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:22:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:06 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:22:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:06 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:22:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

[15/06/2026 11:22:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:10 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:10 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:22:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13012
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCA PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640IDW
            [SerieInternaMaquina] => KY2964
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:22:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:22:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:22:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                
=========================================
FECHA: 15/06/2026 11:23:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-BTtNI.EbpNjB-dL5zgi3cuCCDrM31w_ku+OAjdv9RLkaFF21Qkk
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2964",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se configura impresora por wifi\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13012",
    "observacion": "•Sin contador\n•Tentativo cambio fusor",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACjAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABCEAABAwMCAgcGAgYJBQEAAAABAAIDBAURBiESMUFRYXGBkaETFCIyscEj0QcVFjVC4SQzNFJydLLC8DZDYmNz8f\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADERAAIBAgQCCQQDAAMAAAAAAAABAgMREiExQQQyEyJRYXGBkaHRFLHB4SNC8AUz8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREARY\/Wd8npJ4KWhqjG9uXyGN2\/YCukWp7zXwxtt1nc95aOKaT5Ccb45DGe1adG7XOR8XTU3DdeZrFWV2orVbwRNVsc8D5I\/id3bcvFVLdOXa6APvV1kDSN4IMAY7+XoVZUelrPREObSNlf\/emPH6Hb0S0VqycdafLG3j8Irjq+orCW2m0VFR0B7hsPLw6V9w\/tfV1DJJDS0MQIJYQHZGd+s8u0eC0gAAwBgBeqMS2RKozfPN+WR4M435r1EVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLhV1lNQwmaqnZCwdLjjPd1oQ2krs7r4lljhjdJLI2NjRlznHAHis3Jqupr5XQWK3PqXAf1r9mt8PzIXxBpetuUgqL\/XPl3yKeN3wj7Dw81pgtzZHM+IxZUlfv29fg7VmtKGJzo6GKWtkAJ+BpDdu3n6KFRvv2qoROK6OhpA8tIg4g4\/nz61oKmjpqGyVcNLAyFggfs0Yz8J59aof0fT5paynyPge14HeMf7Qrq2FuKMJqo60YVJZO+Sy\/ZDjsFJDq5tubxTR+7uc4zYOXFp35do8lcaGlMmnyw\/8Aamc0eQP3XKh\/F\/SFcH5yI6cAd+GfzXugf3HN\/mXf6WqZtuOfcUoRUaywreXtY06Ii5z1AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAvl72RsL5HBjWjJc44AVfd77RWaIOqH5kcMsibu535DtVJFbrtqdzZ7pI6joCeJlMzYu6j\/ADPgBlXUbq70MJ1knggry\/2pJuGrovae6WiJ1bVO2aWj4Afv9O1fFJpaaulFZqCofUTE5EId8DB1bfQeqvKC2Udti9nSU7Ih0kDd3eeZXKtvtrt+RU1kbXD+Bp4neQVsW0EZOnfrV5eW37JkEENNEIoImRRt5NYMALosy\/WbJ5vZWy3VFY7lxYwO\/YE48lzaNX3MF2YLdGQMA8\/ufPCjA98i31MNIJvwX+Robi1z7ZVMaMudC8AdZwVjNAS8NzqoQdnQ8W46nAfdcJprzPdG26ku0tfJk+04NmDHWTseZ6McuZTScclDq11I8AuaJInHu6fRaqFoNHDOv0leEkrWdi8tX\/XV1\/8AkP8Aamgf3HN\/mXf6Wpav+urr\/wDIf7U0D+45v8y7\/S1VlyvyNqP\/AGx8Z\/dGnREWB6QVZer7S2WJhlDpJZDhkTOZ7VZOcGtLnEAAZJPQstYo\/wBcagrLzKwOiid7KnyOWOkdHLt6VeKWrMK05K0Iav8A1y+tlzgutIKiAOAyWlrhgghTFl9Os901ReaNvyFwkA6t8\/7vRahRNWeRNCbnC8tdPQIiKpsEREAREQBERAEREAREQBUF61IaWc262xGpr3bYaMhh7e3\/AIVeTNc+F7WO4XEEA9XkslTaGnDnGpurwH\/OIgcu32ySfstIYdZHLxDrWUaS13PmnjtdlnNdfK5tXcXji9mPj4D2dvfgdSkDUV7uhBtFp4Yjn8Wfke7kPqrO36YtVuLXR0\/tJG8pJTxH8vRW6lzjftKU6FRK18K7tfNsy\/7O3q5OJu13cIyP6qDYc\/AeO6n0elLNRtH9FE7ul0548+HL0VwSAMk4AWcuWqSag0Flh98qzkFzRlje3t+iKU5ZImVOhS608335st6yuoLPSh8744I8fCwDBdjoACzwqrzql5bScVvtxOHSH53js6\/DbtUm36UEkvvt8lNbVOweEn4W9nb9FpGtDWhrQAAMADoUXjHTNk4KlXm6sezfzIVqtNJZ6X2FKznu97vmeesrPyQMov0iwPDcNqYy\/YdJa4H1HqtcsfrKX3K8WquAyWEnvDXA49VNNtya7SvExjCmmllFp+52tUvDqe+1JwRE3cnox\/8Ai76GiMeny8\/92Zzh5AfZVLZfZy6pe0jcEZ7CSPutJpiMRacomgEZZxb9pJ+6tPKPp9jLh+tUXdifqy1XjnBrS5xAAGST0L1ZbUFVUXi4fs9b8tcMOqZc4Abjl3bjxwFlGOJnbVqKnG+r28Tvf7\/TnTk09DOH+2d7BrwDzIyceCsbFb\/1XZ6elPzhvE\/\/ABHc\/l4KguFHTu1BabHSR8MFN+LIAOfTue5vPtWrqp20tJNUP+WJjnnuAyryySSMKTcqkpz2y\/LM5ZSJdZ3iVu4aAwkHO+QPstQs3omncLZNXSbyVcxcTjmBt9eJaRVqc1i\/Cp9Em97v1CIiodIRF8SSxwsL5ZGsaObnHAQH2iiU91t9XOYKasimkA4uFjs7KWjViFJSzTCIiEhERAEREARFznqIaWF008jY42jJc44AQN2zZ0Vddr7Q2ePNTLmQj4Ymbud+Xis\/X6qqbhKKe1FtNA54jNZNtgnq6vr3K0tWlaSgm96qXurKsnJkl3APWB19pWmBRzkcnTyqPDR9dv2V3s75qocUjv1fbXH5P4pB9\/QLQ221Udpg9lSRBufmcd3O7ypqKHJvLY0p0FB4nm+1\/wCyCIiobhZXX0Bfa6ecb+ylwe4j+QWqWH1JWzX2qqKKhd\/RqCN0szw7Z5A+3IeK0pLrXOTjJLoXF6vQoKaseaGrgaczVb4mADbIBJz5hvmv1GlgFLSQ07eUUbWDwGF+VWm3zXOvbT05xJwueDxYxgZG\/fhb7T+oIq6EUlVLw10OWyB44ePHMha1l2HD\/wAfNJ9bfJff8ky\/XMWm0zVOR7THBED0vPLy5+Ch6TtZobWKiYf0mrPtJCRuAeQ+\/eSqzVtXQyXC2iaoZLTxykzRscHEDIzkA9WfVTJtcW4OLKWCoqX9HCzAPnv6KmF4bJanU61Pp3Kb5cl56v8ABNt1nlpb3X3OolY91QeGLhz8LOo57h5Ku1PWy3CqhsFA7Mkzh7w5oPwN25\/U9w61Am1rc6qoFLQW9scrjwhrsvf5bL2g0nfYppKh1xjppZhl72EuecnJye\/qKso2d5GUqqnHo6KbV83\/AOmupKaG30UVNHhscTQ0E7eK4VF8tVKPxa+AEdAeHHyG6pxomKd3FcLnV1TuvOPrntU6DSdkgwRRCQjpkcXemcLO0N2dSlXtaMUvF\/BHm1vZ4ziIzzno4I8Z88KONSXquOLdYngHk+YnB+g9Vo4KOlpRinpoYR\/62Bv0XZMUVoiejrS5p28F83Mubdqu4DNTcoqJh\/gh+YeI\/NfceiaN7xJW1lVVP6S52AfqfVaVFHSS2yH0tP8Atn4u5AoLJbrY7ipKVsbyMF5JLsd5U9EVW29TeMYxVoqwREUFgiIgCKPW11Nb6d09VM2Ng6TzPYB0rMmpuurZHMpSaK1h2HSHZ8g\/50claMW89jGpWUHhWb7Cfc9VU1PL7pb4zXVjjwhkeS0HtI59w9FEg07X3mUVeoahwAOWU0bsBv5eG\/aru1Wais8PBSx\/GRh8jt3O7z9lPVsSXKZqjKpnWflt+zKaogijks9spomsY+oyGNAwMED7rT1FRFSwPnnkEcbBlzncgspfKynj1jSPqX+zio4faOJA3O5AHooklTFqGc1d3r2UVvYfwqYPHG\/tI5+OO5Xw3Suc6rKE54db2XkvsWLr7db5I+Cx0whiacGrmOw7v+FfQ0e+ry66XapqHHmGnAHdnPUEOsLVTMZS22lmqOEcLGRM4W+u\/ovP1pqmvOKW1R0bD\/FPzHnjr6ktJaZEXpS525vuvb2yPk2q9afl47RK6upnbGnmPy89+js5eS70eqJYqz3O+UzaGRwyx\/F8ON+e+3Jcv2fv1dk3C+OjB5sgzju6F1i0PaWscJTPK938bn4I7dkbj\/YmMKyf8SaXY3l+X7kLUmrqZ9C6ktkxkfKMPlaCAwdIGekqLbKysjtJt9ssMrxKzEs8hxxkjc8h243Wqttjt1qaRS04DjjMjjxOPieXgvL9Xfq6y1NSHYeGcLN8HiOw+ufBQpR5YotKjUzq1JWy2W3mfmVK+qpJjVU73QOieGF7P4c5\/IrZR6HZUSme4XOape7cloxnxOVnbZRukt92pJIy2dsDJ2tI3Aac\/R3qt5p6r99sNHMTl3swx3e3Y\/RaVZNZo5OCownlNX397P8ABGj0fZI4yz3UuJGONzyT39XooTdDUsfE2OvqWxuPygjP5ei1CLDpJdp6b4ai\/wCqK612G32gudSw\/iO5yPPE7HVnoCsURVbbzZtGMYK0VZBERQWCIiAIiIAiIgCIiAKnvmoYLQGwtYZ6yQfhwt7eRP8AzKjak1ILW4UdKW+9vweJ\/wArATz71U264WayF1TUVLrlcpT8b42l3CT0AnbxWsYZXaOKtxKTwRaXa+z5ZPotP1d1qRcNRHjdj8OmBw1o7cfTzWla2OGMNaGxsaMADYBZht61Hdf3daxSxHGJZurrGcZ8AV6zSFTWkSXm6zTu3yyN3wjuJ\/IKZK\/MytOaiv4ot33eV\/Nk6u1baaIljZjUyZxwQDi37+SgC8aku2P1dbW0kRAIlm3PPmCcD0Ku6Gx2y3YNLRxteOTyOJ3md1PVcUVojXo60+eVvD5Ml+xlRXzipvFzdLKRhwibyxywT+SsqbR9lp8E0pmcOmV5Ppy9FdoodST3LR4WjHPDd9+ZygpoKZnBTwRwtPRGwNHouqIqG6VtAiIhIWV1S83G726yRu2e\/wBpMBnl4dgcfJalzg1pc4gADJJ6FmNMtkud2rr5MAWPd7KDPQ0dXhj1WkMry7Dl4jrYaXb9lqV9Q5tL+kF8ZDGRVDWxcONiHMDQMd+FZ6FeTZZYnfNHUOBHgP5qn1sHUt\/patgIJja4HHS1x\/krPR8jP1hd4mHLPbB7O0Eu+2FrLOnc4qTw8U49798\/wapERcx64REQBERAEREARcpqmCmbxTzxxNHS94aPVVdRqyyU5wa0SHqjaXeo2UqLeiKSqQhzNIuUWYfraGY8Fvt1VVP6Bw4+mT1LwV2rqw\/g26npWOzh0h3Hmc+iv0b3yMfqqb5bvwRqEWXNq1VVjFTeIoGnmIRgjxAH1VnZ7PNa3SumuU9Y6QD+sOw7dyVDiktS0Ks5S5Gl32OlZYbXcKj29VSNkkxji4iOvqPautLabfRuDqejiY4cncOXDxO6mIq4npc06OF72VwiIoLhERAEREAREQBERAUmra00likjZvLUn2LW9Jzz27s+amWWgFstFPS8ID2szJjpcdz6qjma2\/azbEXB1LbBkjoL88vPGf8ACtWtJZRSOWl16kqmyyX59zI6\/pi+ipaoNyI3ljj1cQ\/komgXOfX1Zccn2LR4A4C1F7FDPbZ6SsqoIRIwhpkcBg9Bweo4WP0rdbdZPfXVkpMriGs4Gl3EBnkfLn2LSLbptHHWjGHFxm3k\/g\/QUWYOsjUHhttpq6o8s4wPTPb5LwVGsK\/eOCmoGHkX8\/XPX1dCz6N75Hb9VB8t34I1Cjz19HS594q4Ysf35AFnxpa51Z4rlfZnA82RZx9cei70+iLNCPxGTTn\/AM5CP9OEtFasdJWlywt4v4udqnV9lpiR70ZnDoiYT68vVQv2ylqDi32WqqAeRO30BV3S2a20X9nooWH+9w5Pmd+lTUvBbDBXlrJLwXyZc1er64fg0cFCw8nPILh5k\/Re\/s7fKn+2agkaOlsIIH1C06JjeyH0yfPJvz+LGbh0Pa2fFO+oqHdJc\/APl+atKaxWqkGIaCAdrm8R8zkqwRVc5PVl40KUOWKPGtDRhoAHUF6iKpsEREAREQBERAEREAREQBEVZf7lNarU+pgiEkmcNB5DmcnuAUpXdis5KEXJ7FkSAMk4AVLdNU2yghkaypZNUcBLGR\/ECcbZI2CobdA\/Uv7x1Ac5w6liPCdz24B36ge9LrZKCO70FloYAHSEPnkLi52O3q2DthjoWqhFOzOCfE1JQxU1ZPt19EctPy36npZP1fa+N9Q\/jdUTDAcOjGcDHPr5q2Fj1HXb1979i3PywDo8MfdaZrWsYGNGGtGAOoL6UOpd3SNYcIlFRlJv2XsZ6n0VaYncc\/tql3\/sfgemFAoqCjt+uJaP3aMwzQcULXAO4TgHbP8AhctgstqvNDdLXdgDwxS+zkI6uePLiSEnJ2bK1qNOnFTjHRo1AAAwBgBerwEEZByCvVkdwREQBERAEREAREQBERAEREAREQBERAEREAREQBeEAjBGQV6iAprjpW1XBrj7AU8pOfaQ\/Dv2jkVk7M+6UlxnuFLSvubISYHPccuIHLG5IOAOvqX6HI1z43Na7gcQQHdR61W6ftJs1s91c8PeXue5wGM9H0AWsZ2i7nDV4ZSqxcVbvXsRqDV9rqyWTPNHKDgsn2Hny88K8a4OaHNIIIyCOlQrhZrfc2n3ulY9xHzgYcPEKmOlaugeZLLdZYN8iKU5b+R8Qeai0HpkaYq8NViXdk\/Q06ptV0xqtOVQDcujAkHZg5PplVzdSXa1Esvdse5oO08A2x9PUKzpdSWa4xloq42cQw5kx4D3b7HwRRlF3DrUqsXBuzfbkdrBVe+2KkmLuJ3sw1xPMkbH6KxWT0jUNpK6ts3tGPax5kie12Q4bZxv1Y9VrFE1aRfh546ab109AiIqG4REQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAVVcNP2mrY+Sahj4w3PEzLDsOzGURSm1oUnCMlaSuR7JaqGhq3vpqcMcWcy4n6lXqIpk7vMrRioxskERFU1CIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCA PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56930703720",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:24",
    "ubicacionGPS": "LatLng(lat: -23.7720027, lng: -70.3225653)",
    "horaLlegada": "11:20",
    "horaDespacho": "10:05",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 11:23:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:23:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[15/06/2026 11:23:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78876040', 'KY2964', 1, 24456550, 0, NOW(), 
				'10:05', '11:20', '11:24', 15, '•Se configura impresora por wifi
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781537024.png', '•Sin contador
•Tentativo cambio fusor', null, 'COMPLETADO','LatLng(lat: -23.7720027, lng: -70.3225653)' )
				
[15/06/2026 11:23:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200717

15/06/2026 11:23:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200717'                    
				WHERE idllamado = 13012			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl, khapo73@gmail.com


15/06/2026 11:23:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13012			
				
15/06/2026 11:23:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:23:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:46 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:23:46] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:23:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13012
            GROUP BY l.idllamado;
            

15/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:47 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:23:47] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13012
                

15/06/2026 11:24:02 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:24:02 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:24:02 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 11:24:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:27:58 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:27:58 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:27:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 11:27:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:29:30 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:29:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:29:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:29:30 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:29:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:29:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13019
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [SerieInternaMaquina] => EP2757
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:29:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                
=========================================
FECHA: 15/06/2026 11:30:35
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-4epYDHOoLWAMNI7gbjJA6tpl2SU2Y3RWxhMYCUHCDG94NFsG.x4
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2757",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13019",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADnAE4DASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAIDAQf\/xABGEAABAwMBAwcFCwsFAQAAAAABAAIDBAURBhIhMRMiQVGBkcEUYXGhsQcVFiMkMlKywtHhNUJVYnJ0kqLS8PElJjNUgpP\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgQDAQX\/xAAvEQACAQIDBgMIAwAAAAAAAAAAAQIDERIhMQQyQVFhkRNxsSIjM1LB0eHwQqHx\/9oADAMBAAIRAxEAPwD+zIiIA8SyxwQvmleGRsBc5x4ALH09dq28moqpIY46Pb2YRv2+jOegjxXLq6eSpfR2SnlDZKx4MnmZndnzZ3\/+VQU1PHSU0VNC3ZjiaGtHmCeyUfMnUpTq2Tyj\/b\/Bz3eOsktc7aCTk6nZywgbzjfgenh2rn07dxd7a17z8oi5kzcY53X2rVUtgWbW4a0FtNcWfNG5of8AfkfzIjmmjlVuE4zvk8n9GVKIiQpCIiAC\/HODWlziAAMknoX6sbVVeaCwTuY4tklxEwjrPH1ZXUruwlSahByfAztPf6zf629vy6OM8lT7XQP8fWVUs+x0It1mpqbZAeGZfgY5x3laCabu8jPZ4OFNX1eb82FNa3p9q1RVrMtlpZQWuB4A\/iAqVZepYTPp2tYOiPa4fROfBcg7SQbRHFSkuhoU8onpophwkYHDtGV9Fl6amM+naJ56I9nj9E48FqLjVnY0pyxQUuYREXBwpjVI5e92Sl4tdPtPb1jLfDKp1MXL4\/Xlth6IoS8+Y84+AT09bk21ZwUebXqU6IiQpC56+MS26pjIyHxPbjryCuheXND2Fp4EYQjjV1YwdFSB+nWAYGxI5u7v8VQKZ0G4usUoP5tQ4D+Fqpk9TeZhsrvRj5BERIUBTFN8f7odWeinpgAR07m\/1HuVOpjTo5XU18m+jIGY7Xf0p4aNk1fOUI9fRMp0REhSEREATGgfyHN+8u+q1U6mNA\/kOb95d9Vqp1pU32TbJ8CPkERFmUhTGlvy5qD95+09U6mLT8m1vdabgJWCX0ncftFPHRomrZVKb6+qZToiJCkLxM7Yhe\/ONlpOepe1z3B4jt1S93BsLye4oRyTsmzE0MD7wOJzvndx9AHgqNYGimFunIieDnvI78eC309TeZhsytRj5BERIUBTFV8l90ClkJDW1NOWkg8Tg8e4KnUzrNkkEdBdIhzqScE7ug4O\/wA2W47U9PW3Mm2rKni5NMpkXmORssbZGHLXgOB6wV6SFIWdqCQx6frnDphc3vGPFaKxNXv2NM1WOLtgfzBNHeRlWdqUn0Z9dLxiPTdE0dLC7vJPitZcVmZydloWdVOzPp2Qu1Es2ztJWpxXRBERKaBcF7ojcLNVUzRl7mEsH6w3j1hd6LqdncWUVKLi+JiaRrhWWGJjj8ZTfFPB4jHD1Y7ltqRn\/wBuaubUDm0Vx3P6muzv9e\/0EquTTWd1xMNnk8OCWscvsFN65k2bEyMDJkna0DsJ8FSKY1d8dXWej48rU5I7WjxKKe8g2r4Mv3Uo4Y+Sgjj47DQ3uC+iIkKVkEREAEREAZ17tMd5tzqZ5DXg7UbyPmuXBpy8SyvfabiNiupubvP\/ACAe0\/5VAsDUtnmqhFcaDm11KQQRxe3q7PvCeLTWFk1aMovxYa8VzX3N9TF3zLri0wji2Mv+sfsrst2qLfVUXK1MzKWZh2ZIpHYId5utZMVyo6\/XUdVHUMMMNPste47Izg9f7RTRi03czrVYTjFJ6tFiiIsi0IiIAIuepr6OkOKmqhhOM4e8AkejsK5JNR2aMZdcYD+y7a9i6k2I6kI6tGmiyPhVY\/0gz+F33J8KrH+kGfwu+5dwS5C+PS+ZdzEuGiZ9iSrp601NZtl+zKwAP35xv3Z9O4+ZZVigtVwuFVDdmx073kck1p2GtdneBv3ehVdTq6zR08joq0Pk2CWNbG45ONw4e1Sdul086xvguTn+VF7nh7GEubkADB4HhwPWqIubi7nlVoUI1F4bXG93l\/pve8d8ssu3Zq7ymD\/r1B9XV2jC+9Hq1oqBS3ejkoJi7ZDnAlh+7iOsedYdn1XXW+OSOWGWvpmfMkOWuaB1nfu9i6X19z1hA6CmoKeGFrhtSyEOLd\/Rkejo6Fxxf8u48K0Ul4Ld\/l1\/e5aggjIOQV+r5U0DaWmip2OLmxNDQXYzgejcvqpj1lpmSuoNJTXKtNbS1DdojfFITjPmO\/GerGO9ZkElFaSyO+acETiccs0FzT2EkdxV6vLmte0te0OaeIIyCtVUdrMknskXJzhk+6MCi+CdeAIIqLbP5j2Bru48exaPvBaP0bTf\/MLnrdK2euyXUohefzoeYe7h6lnNsF8tW+03XlIwAORnG7s4j2IyejFtKG9TT8vsxqu326gsEr6ehp45Hva0PEYyN+dx7FsW61UUNvpmmkhL2xNBc6MbRON5Kj9R1N9dTwUl2p4dl0u3GYiMyEDGNx\/W6gt2LXFsIxUQ1EDxnLXMz0+lM4ywq2ZlCrRVaTllktVYoi1pZsFoLSMYxuwp24aZliqzcLHOKWozl0XBjv76uHoXVDq6yTbvLNg9T2OHrxhdsd5tcoBZcaU5Gccq0Huys1ijwKpOjWVrruZNs1Vt1DaG7UzqKq3DLtzXeffw9ao1lXeht97oHQyzxAt3slBBMZ6+PqXJpS6TVdPLQ1ThJPRu2OUadoPb0Ha6T+C60mro5CcoTVObvfR\/RlAiIsyoIiIAl7yTVa0tNKBtCFplI6BvJ+yPUqSSCGYgyxMeRw2mgqbos1ev62XPNpoQ0bunDR7cqoWk8rIloe05yfF+mRwy2S1zjElupj5xEAe8Lil0hY5cnyPYJ6WSOHqzhbaJVKS4msqNOWsV2J74EWfOQJwCMY5T8FrUFspLZEY6SERhxyd+Sf7yutEOUnqwhRpwd4xSCIiU1CIvnUS8hTSy7vi2F2\/zDKAbsTmlPlF0vNY4b3z7Lc8QMu3ezuVOpzQ0RZYXSHjLO52T07gPBUaepvMm2Ve5i+efcIiJCkIiIAIiIALL1JP5Pp2tf1xFnD6XN8VqKa1jKZ20VpjaXPq5gTs8Q0bvH1FPBXkjDaJYaUn+5mjpuDyfTtEzriD+P0ud4rUXiGJsMLImfNY0NHoC9pW7u5pCOGKjyCIi4OEREAEREAFLwN8u90Cd7ucyihw08cEgDH8zu5Uk0rKeCSaQ4ZG0ucfMBlT2jI3zQVt0lB26ycnf1D8SR2LSOSbJa3tVIQ637fkpURFmVBERABERABERAGfe7dLdba+kiqOQLyMuwTkZ4cV1UlLFRUsdNACI4m7LQTlEXbu1hMEcWLifZERcHCIiACIiAP\/Z",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "YARITZA MATURANA",
    "correoContacto": "dsprintmallangamos@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"VIR-I999\",\"id_control\":\"29014\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"MC-I957\",\"id_control\":\"29014\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I900\",\"id_control\":\"29014\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I904\",\"id_control\":\"29014\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:31",
    "ubicacionGPS": "LatLng(lat: -23.6952479, lng: -70.4155967)",
    "horaLlegada": "11:27",
    "horaDespacho": "10:15",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 11:30:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:30:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2757', 1, 19969062, 0, NOW(), 
				'10:15', '11:27', '11:31', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781537435.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -23.6952479, lng: -70.4155967)' )
				
[15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200718
[15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200718', 'VIR-I999', 1)
				
[15/06/2026 11:30:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29014 and
				    IDproducto = 'VIR-I999'
				

15/06/2026 11:30:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'VIR-I999';
                [15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200718', 'MC-I957', 1)
				
[15/06/2026 11:30:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29014 and
				    IDproducto = 'MC-I957'
				

15/06/2026 11:30:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'MC-I957';
                [15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200718', 'EPS-I900', 1)
				
[15/06/2026 11:30:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29014 and
				    IDproducto = 'EPS-I900'
				

15/06/2026 11:30:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I900';
                [15/06/2026 11:30:35] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200718', 'EPS-I904', 1)
				
[15/06/2026 11:30:35] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29014 and
				    IDproducto = 'EPS-I904'
				

15/06/2026 11:30:35 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I904';
                
15/06/2026 11:30:35 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200718'                    
				WHERE idllamado = 13019			
				TO ENVIO: dsprintmallangamos@gmail.com, dsprintmallangamos@gmail.com, khapo73@gmail.com


15/06/2026 11:30:36 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13019			
				
15/06/2026 11:30:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

[15/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:38 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13019
            GROUP BY l.idllamado;
            

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13019
                

15/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:39 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

[15/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:39 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:39 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:40 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:40 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

[15/06/2026 11:30:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:40 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:30:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13020
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 95111827
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => AM-C6000
            [SerieInternaMaquina] => EP2819
            [MarcaMaquina] => EPSON
            [TipoMaquina] => IMPRESORA
        )

)

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:30:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:30:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                
=========================================
FECHA: 15/06/2026 11:31:12
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+NrBjnMsUvhSjmPQnRU2K5gjzqCUy-QXiQOUGmEULyTiHd+hUtp
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "95111827",
    "serieinterna": "EP2819",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13020",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADQAGEDASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABAEAABAwMCAgUJBAcJAAAAAAABAAIDBAURBiESMRNBUWFxFCIjgZGxwdHwFTKh4SRFUmJ0kvEHFiUzQqLC0uL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIDBQYHAQAAAAAAAAAAAQIDERIhQQQxMlFxExRhkdHhIiMzgbHB8KH\/2gAMAwEAAhEDEQA\/AP2ZZN41BTWnhiDHVNU\/7kEZ8719nsX3UF4FnoONjeOplPDCzBOT+S82nLK+ja+4V\/pLhU+c9ztywHq7j2+xTSVsTM9SpJz7Onv1fL3PGBq+5u4w+G3RY2aQMn1bn24XN1v1XRsMkFyiq3dbHjGfDO3uVOi7j8ER7stZO\/UwrRqaKuqTQ1sRpK5pIMbuTj2A9v0FurH1DZGXak6SIBtbCOKGQbHI34T3e5fNN3r7VozHOOCsp\/MmYdie\/H1uuNJrEjtOcoT7Oo78nz9zZREUDSEREAREQBERAS7mtumvOCTzordEHNBH+rb4nPqVQpizEN1pd2OI4i0OAHZt8wqdTnojNs2alLVthERQNIUtcf8AB9Y0dazDIa4dFKGjm7lk+1vsKqVPa1pumsDphnip5GvBHjj4qdPitzM20r5eJb1n5FCi89DUeV0FPUZB6WJrzjvGV6FA0J3V0EREOhERAEREBLXQttGsaO4uIbDWMMUhx1jAyf8Ab7CqlZ97tUd4tslM\/Z\/3o343a4cvl614NM3h9VE6212WV9L5rmu5uA2z8\/arH8Ub8jLF9lVcXulmuuq\/ZvoiKs1BeO7UvltpqqYN4nSRODR+9jb8cL2Iup2dzkkpJpmHo+p8o05ACSXRF0Zz3HI\/AhbimNDeZQ1sHLo6k7dmwHwVOpVFaTKNmbdGN+QREUDQEREAREQBYGo7JNUvjuducWV9NuA3bpAOrx\/ot9F2LcXdFdSnGpHCzJsV9hvNOQR0VVFtLCeY7x3e5ayn73YJZKkXW0u6Gvj3IBwJPHqz1d\/Wu2yaiZcHGkrWClr2HDonZHF4Z9ym4pq8SmFWUX2dXfo+fubaIirNRMaM\/Wf8SfiqdTGjP1n\/ABJ+Kp1OpxMzbJ9Ff2oREUDSEREAREQBERAFkXvT1Pdm9M09BWMx0c7c5GOWfrIWui6m07ohOEZxwyWROWa\/yR1H2TevQ1kezZHHDZezftP4+Ko1nXex0d6hDKhpEjR5krfvN+Y7lgxXa5adDqG8NL4OEinqhk+AOP6jvU7KWa3mZVJUMqma0fr6no0L59tq5v26k7nnyB+Kp1PaIi6PTrXYx0krnePV8FQrlTiZZsqtRj0CIigaAiIgCIiAIiIAiIgCydTiM6drDIxrgGZHEM4OditZT+tpuj05IzIHSyMb475+ClDiRTtDtSk\/BmJZ7lcdOU1M6sjdLa6locxzRnoid\/zx7OtW8M0dRCyaF4fG8Za5p2IXnp6KI2iGiqIg+MQtjcxwyNgFOO8s0bVFzGvqbRK7JHN0RP16\/FTdpvLeZ4YtnisWcfx7fgr0WBar7PeL3M2ljBt0Uf8AmFpBLtvz27FvqtprJmqnUjUV47giIuFgREQBERAEREAUvrACpq7TQYz01Rv2YyB8VUKUus8J1xRdPKyOGlgL3ueeEA+d1\/yqynxXMu1fTw82l\/pVqW1HdJq6oFgteJJpdp3g7MHWPn7Oa41l9rL7M63WKNwYTwyVZ2DR3dnv7FsWWx01mpuGPz53j0sx5uPwC6lgze8jKbr\/AAU+HV\/pE86nrdFVQnhc+qtkpAlaebT29x7D6j1KupKuCupmVNNIJInjIIXOWKOaJ0UrA9jxhzXDIIUhNDV6NrjU0wfPapnekjzkxn65Hr5HqKcfU5Z7M7rg\/HsWSLoo6ynr6ZtTSyCSN\/Ij3HsXeqjYmmroIiIdCIuL3tjY57zhrQST2BAclmVuorTQEtmrIy8Z8yM8R26jjl61iRNuerS+V05orc1\/CGM++7HPP16lr0GmLTQMAZStmd+3MA8\/L2BWYYx4jKqtSpnTWXN+hnO1XV3FxislrkmcRtJKQA3xHL2kLJtNokv1+rjd5DI+nIbJ0ZwC7OMZHVsVdvcyCFzyMMYCSAOpTOjnsZQVlyqpGRmqnJLnuAyB3k9ripKVotxViipSbqQVSV978Mikp6aGkhbDTxMijbyawYC7Vl1GpLNTNy+4Qu7ozx+7Kzf75tqOIW61VdWW9jce4H6CgoSehqdejDK6\/uhTLjJGyWN0cjGvY4Yc1wyCO8KaN\/1DMOGn08+Nx3BlJwPHOE4NZ1WXdLR0f7uAfg76C7gerI95i+GLf29TrqrXcNOVEldZQJaRw4paVxJx3j6z4rctN3pbxSCemdgjZ8Z+8w96x\/s7V7xh94pm9nCwf9AvPQaOrqS5srHXJoPHmTowWlwPMetSdms3mZ4OpCfy4PC9HbLpmV6IipPRC+OAc0tO4IwV9RATUmm7lSzSG03Y08L3FwicNmns7\/Hw5rj9larkz0t7hbn9hv8A5Cp0U8bM3doaNr7si7zabxSWmeqrL7LIyMD0bAQHZIAB3Hau6zaOt9RbqaqqzO98sYfwcYDQCM9W\/XnmvVrmUtsbIW7madrceon3gKghiEEEcTeUbQ0eoYU3OSiUR2em67TV0kt+e8zqfTVmpiDHQRkjrfl\/vWmxjI2BkbQxrRgNaMALkiqbb3m2MIw4VYIiLhMIiIAiIgCIiAIiICY1V6e7WajAzxz8TvDLfzVOpeoPlv8AaDTxjdlHBxOHPBIJz3feaqhWS3JGahnOcvG3kgiIqzSEREAREQBERAEREARF1VUwpqSac4xExzznuGUON2Vyc04DV6lvFedwH9Ex3PIz8mhVCnNEQuZZHVD931MznlxHMDb3gqjU6nEZ9lXyk3rn5hERQNIREQBERAEREAREQBY2rKgU+nKo53eAwd+SM\/hlbKmNZfpU1rtudqmoy7HVjA\/5FTgryRn2mWGjK3TzyNixQeTWOiiIwRC0kdhIyfxK96+AADAGAF9UW7u5dGOGKjyCIi4SCIiAIiIAiIgCIiAKZrv0zXdDASOCmiMhHXnf1dipljQ2uqGq57nIWeTmEMjAPnZwOY\/mU4O1yivFyUUuaNlERQLwiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "DSPRINT MALL ANGAMOS",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "YARTIZA MATURAN",
    "correoContacto": "jefasucursal@gmail.com",
    "correoCliente": "dsprintmallangamos@gmail.com",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1052\",\"id_control\":\"29015\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1053\",\"id_control\":\"29015\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1055\",\"id_control\":\"29015\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1054\",\"id_control\":\"29015\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:32",
    "ubicacionGPS": "LatLng(lat: -23.6952483, lng: -70.415602)",
    "horaLlegada": "11:27",
    "horaDespacho": "11:31",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 11:31:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:31:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:95111827

[15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('95111827', 'EP2819', 1, 19969062, 0, NOW(), 
				'11:31', '11:27', '11:32', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781537472.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -23.6952483, lng: -70.415602)' )
				
[15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200719
[15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200719', 'EPS-I1052', 1)
				
[15/06/2026 11:31:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29015 and
				    IDproducto = 'EPS-I1052'
				

15/06/2026 11:31:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1052';
                [15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200719', 'EPS-I1053', 1)
				
[15/06/2026 11:31:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29015 and
				    IDproducto = 'EPS-I1053'
				

15/06/2026 11:31:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1053';
                [15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200719', 'EPS-I1055', 1)
				
[15/06/2026 11:31:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29015 and
				    IDproducto = 'EPS-I1055'
				

15/06/2026 11:31:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1055';
                [15/06/2026 11:31:12] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200719', 'EPS-I1054', 1)
				
[15/06/2026 11:31:12] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29015 and
				    IDproducto = 'EPS-I1054'
				

15/06/2026 11:31:12 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1054';
                
15/06/2026 11:31:12 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200719'                    
				WHERE idllamado = 13020			
				TO ENVIO: dsprintmallangamos@gmail.com, jefasucursal@gmail.com, khapo73@gmail.com


15/06/2026 11:31:12 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13020			
				
15/06/2026 11:31:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 11:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:15 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:31:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:31:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:15 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

[15/06/2026 11:31:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:31:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:16 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

[15/06/2026 11:31:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:31:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:16 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 11:31:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:31:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:31:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13020
            GROUP BY l.idllamado;
            

15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13020
                

15/06/2026 11:31:17 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 11:31:17] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/06/2026 11:31:17] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 11:31:17 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 11:39:57 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:39:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:57 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:39:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:57 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:39:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:58 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

[15/06/2026 11:39:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:58 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:39:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:58 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:39:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:59 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:39:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:59 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

[15/06/2026 11:39:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:39:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 11:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

[15/06/2026 11:40:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:40:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13014
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA UNA LINEA AZUL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 08:44
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76270521
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2466
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:40:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:52:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            
=========================================
FECHA: 15/06/2026 11:52:42
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-l35NpCxYBKKGdAvdMcJdEEnvOsoHRNPqNOHkcGc4jWTxSaewWLr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76270521",
    "serieinterna": "KY2466",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "276818",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se limpia escaner de ADF",
    "tipoServicioMaquina": "1",
    "rbEstado": "Reprogramado",
    "idllamado": "13014",
    "observacion": "•Pendiente RGOM2356×2, RKIT2442, RGOM2758\/59, RGOM2576\n•Pendiente instalacion de controlador en computadores nuevos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADyASgDASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xABHEAABAwMBBAcGAwQHBgcAAAABAAIDBAURBhIhMUETIlFhcYGRFDKhscHRFSPwB0JS4SQzNHKSosIWQ2J00vElJjdFgrLi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwUGBgIDAQAAAAAAAAECAxESITEEIkFRcRMyYYGx0SNCkaHB4TPwFHLxYv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBEWJeNTUttd7NA01VYTgQx78Hv8AtxXUm3ZEJ1I01ikzXnnhpojLPKyKNvFzzgBYFRrCB8pgtVHPcJRzY0ho+Gfh5r4Qaer71I2r1BO4NG+OmjOA0d\/Z8+9UdJR01DCIaWBkLByaMZ8e1TtGOuZQnWq6bq+\/6J4VOsK7fHS09EziC\/GT3b8\/ILz+Farkz0t7ibn+Bv8A+QqdEx8kjv8Ajp96Tfn7Ev7DrCnO2y5U1QObHAb\/APL9V4Gqq+3TNjvtrdA124Sw7259SD6qpXpLFHNG6OWNsjHDDmuGQfJMaeqOdhKOcJvzzR8qOupbhCJqSdkrDzad48RxHmuhS9dp6qtdQbhp1widj8ymJyHjuz8vRatkvcF4pyWjo6iPdLC7cWn7LjjldaEqdV4sFRWf2fQ0167TS4tDhtDiM71jaouE9JRRU1I8sqauQRxuGcjeOG4794+PNcY0NRmFpfWVPtG4ulDhgu7cY+qKKtdsSqyxOMI3trnYp0Uo616kswL7dX+3QtOehm3nHn9CF1UGr6WV\/QXKJ9vqBxEoOyfPl5+qOD1WZxbRFPDUWF+On1KFF4a4OaHNIIIyCOa8qBpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIvBIAyTgBStxvFTfqk2qxuIjzieqG4Adx7PmpRi5FVWqqaz1ei5n0ud7q7jX\/hFid1x\/XVI4MHPB+votKzaeo7OwOYOlqCOtO8bz4dgXRarVTWijbT07e97zxee0rtXXLK0dCunSbeOpnL7Lp7hERQNIREQBERAFD6udJZ79S3CjYIpJGkl44SEHeCOe7HqrhZeobSLvapIGtBmb14if4hy8+CnTklLMzbVTdSk1HVZomLnfaa6vs9cz8t9NUjpYyc7OS057x1SrtfjYicZDE4bD25yHbjkcvHdjxX6bpu8xXa2s639IhaGytxjf2+BVtWFkrGPYdoc5yU9Xb7GuuWuttHcYXRVUDJARjaI6zfA8l1Is6dj1GlJWZIOjuukXufBtVtqyC4OPWiH08cY8FR226Ul2punpJNpoOHNIw5p7CF2KXuunZ6OpN2sTuiqG73wNHVeOeB9PTerLqeuplcZ0M4Zx5cunsVCLLsl7hvNOSB0dRHulhPFp+y1FBpp2ZphOM44o6BERcJBERAEREAREQBERAEREAREQBERAERT2prtKwx2eg61ZWdU4\/wB207s+e\/wAJXYrE7FdSoqccTOa8XGovdWbJaHdXP8ASagcGjPDP6zw7VvWy209qo200De97zxe7mSvlZLPDZqBtPGA6Q75ZMb3u+3YtFSlLgtCulTd+0n3n9vAIiKBoCIiAIiIAiIgCIiAjdZWMsd+M0gIc0jpmgejvupy3VNXQXRtXRNBdsGToxwcz95vlv8ATPJfqNRC2pppYH+7Kwsd4EYX5NFLU22tY8e\/TSkY4jI4jzWqlLFGzPE22mqVVTWV\/U\/UbXcoLtQsq4MhrtxaeLTzBXYomKobYa2K70bS60XDG2xv+6dz3dxz8QrOKWOaJssTw9jxlrmnIIVE4200PToVcatLVf2\/me6IigaCevdkmFQLvaD0ddHvcwcJR9\/mu2yXuG805IHR1Ee6WE8Wn7LUU9e7JMKgXe0Ho66Pe5g4Sj7\/ADViakrMyzhKlLHDTivyvH1KFFLR63hlpo2RUUslc87JgaNwPbn6f915bQ6nuhc+rrhbY3cI4d5HofqnZta5Hf8AJjL+NOXQqEU1Q3SutN2ZabxM2VswBgqcYyTncfPd6dqpVGUbFtOoqiy1QREUSwIiIAiIgCIiAIiIAiL5zTRU8L5pnhkbBlznHcAg0OK93eKzW51S\/DpD1Y4yfed+t64NM2eSnbJc6\/D62qO1k8WNPLx\/7LhtMMmp7ub1VsApKc7EEJ35I5n1z4+CrlY91YTJT+NPtXotPf2CIirNYREQBERAEREAREQBERAFE01qiuF0v1skw1zpBLE4j3HZOD4dZWymKE9H+0K4N4CSnBA7Thn81ZB2uZNpipOF+dvqmZOm5GtnqtN3VhDJiQ1r\/wB147OzPEHu71o2qrm05dfwSvk2qWTfTTO3AZ5frgfFfTWFkdPELtRtIqafBfs8XNHPxHy8F9min1lpwbWI52HGf4JAPkVY2mr8HqZYQnTlgXejp4rkUSKe01d5pC+0XEFtbSjGSffaPmfnxW+5zWML3uDWtGSScABUyi07Ho06iqRxI9ZpoqeF80zwyNgy5zjuAUrLW3DVlS+loHOpbaw4fPggyfrs9V6Okn1lcjDG58VppzlzgMGQ\/f5BVtPTxUsDIIIxHGwYa1vAKeUOpnu9oeWUPX9ExW6Udb4YauxyPZV0wycnJl7fPu4Fa1ivcV5pckCOpj3TQ82ntHctVS+oLfNbK1uoLawbcf8AaYwcB45n7+R7UTx5PUSh2Dx01lxX5R1axoxUWN87QelpXCRjhxG\/f8N\/ktO11nt9rpqrdmWMF2P4ufxyuWauprppmoqo98UlO\/LTxBwdx718tIBw0zS5xg7RGOzaK4+5nwZKLXb3jo16f9NpERVmoIiIAiIgCIiAIiIApW\/1E17u0en6NxEbSHVbxjAGQfh88LW1DdhZ7Y6Zu+eQ7ELcZy48\/JfHTNm\/Crf0kw2quo68riOs3P7vl81ZHdWIy1r1JdktOPTl5mrTU8VJSxU0LdmOJoa0dwX1RFWaUrKyCIpXp5rBqqRtQ9zqG4nLZHuyGO8Twxn0I7FKMbldSp2dm9H9iqREUS0IiIAiIgCIiAIiIApiEFv7RJ8j3qYY9G\/ZU6mId\/7RKjO\/FMMd25qnDj0M20fJ\/svyU6jrhFLpO9C4UrSbfVOAmjHBp\/WSPMKxXPXUUNwo5KWdu0yQY8DyI8EjKzz0JVqWOO7qtDBv1EayGn1DaXgzwN2wWjPSN+437vELimutTq6anttEH09OWB9Y\/s7R4dnbnuWXHX3SwOqrCwtLpXhrHk42c8x4gjwWnS082jbnB0s3SUNWAyV+NzX9v65Z7Fday9Dze0xyvmk+91\/upW0VHBQUkdLTM2I4xgD6lfSWaOCJ0sz2xxsGXOccABeJpoqeF80zwyNgy5zjuAUlDHVayrXyzPkgtML+owbjJjPx7ezh3qlRvmz0qlRU7Qgrt6L+8Dpl1VV19Q6nsNvdU7O4zSDDfpjzPkjn6xDS98FHK3HWi3dYdnFUkFPDSwthgjbHG0YDWjAC+i7jS0RDsJyznN38MkfnNJHXVM9ZRW1jaUVQIlo5nYLMdmQP1kHkVd2yiFvtsFICD0TMEjOCefHvWRqm1PfG270P5dZSdYubxe0fb5ZC1bTcG3S2QVjQGmRvWaOThuI9VKcsUU0VbPTVKo4y14dP+6naiIqTeEREAREQBERAF4c4NaXOIAAySeS8qf1bXyMo47ZS5NTXHYAAO5nP7eGV2Ku7FdWoqcHJnFbGHU2oH3WXfR0Z2IGOb7x4\/DIPoq1cVpt7LXbIaNmCWN6zh+848T6rtUpu7y0IUKbhHe1ebCIigXhZ18tTLxa5KY4EnvROI91w\/WPNaKLqdndEZRU4uL0ZhaVuz7hb3U9TkVVIejkB4kcj8MeS3VK36N9jvUF+p24hkIiqmtHHPPzx6gdqp4pWTRMljcHMe0Oa4cweBUpr5lxKKEnnTlqvuuDPdERQNIREQBERAEREAUxb+t+0G5uG8CnAJ78R\/ZU6mNOfnamvk3DYlDMebh\/pU46MzV85014\/hlOuK63OC00D6ufeG7mtzve7kAu1Scg\/2n1MYnt2rbbyQTvxI\/s9fgO9Iq7z0JVqjirR1eS\/vgZVXZZaq0S3m51PRVs7tuON+GhzQOHjgbu4Bd1qrG6n0\/NaKp4NXCzMTnHe7HA\/Q+K+9wphe9Yvt9W\/ZggpiY2jBySBk9x3\/wCVSVdR1diuMkDpCyRowHsJG00jiPJaFvK3HU8mb7GTkleOafibNA64amhprO89HT0f9fIHb3DOAPHG4eqvIIIqaBkELAyOMbLWjkFDRtjsDLZere90lNMwR1Qzxdz3cue7tartj2yRtkY4Oa4AtI5hVVfDQ3bEsni72X04HsiIqTeer2NkjdG9oc1wIcDzCmtGE034jbHHJpag4zxIOR\/p+Kp1MW7EGvrlEAA2WEPHeeqfqVZHOLRmrZVIS8bfVFOiIqzSEREAREQBERAeHODWlziAAMknkpexB96v9TfHgiGLMVMCOXDPDx58SV0awr5IbcygputUVrhGGg79k8d3fw8ytS029lrtkNGzBLG9Zw\/eceJ9VYt2N+Zll8Sso8I5vrwO1ERVmoIiIAiIgPhWUkddRy0swyyVpae7vWBpeqkoKibT9afzoHF0J5OZx\/n59yplO6qoJWsivNENmqojtOIHvM558PkSrIO+6zNXTi1VjqvTiUSLktlfHc7fDVxEYkb1hn3XcwutVtWNEWpK6CIiHQiIgCIiA8EgDJOAFMaIDpYK+tIIE9Ruz6\/6ls3uo9lslZMOLYnAeJGB8SuTSMHQabps8ZNp539pOPhhWLKDM097aIrkm\/weurLobfajDFkz1R6Ngbxx+8R5bvEhddhtgtNphpsDpMbcpHN54+nDyWFQf+Y9WSV561HQdWHsc7kfXLvRVyS3VhI0fiTdXhovy\/Ml7vJ+FauoK9ztmCpYYpD3jdv9R8Vh19PU6mNxvEWehpSGwtI95g4jxx1vNb2u3Qiyxskz0hmBjx3A5+BXfpeOFum6QRAFrmEu3cXZOc+e5WKWGKlx0M06XaVpUm8tfPT9kZp6sYWvs9dn2SvGGE\/7t\/AOHmPgFT6TrZWMmstYNmpojgb\/AHmZ+m7yIU7NZHur66zNwJYi6opeW2N2W+Yx5tXv7bPLFDfov7dQERVbHbi9vAOPjwKnJKWhmozlSavw9OK8tV4H6Ei+FHVx11HFVQnLJWhw7u5fdZD3E01dBTEH\/qJU\/wDLD5NVOpig\/P1\/cJB7sUAb54b\/ADU4cehn2jWC8fcp0RFA0hERAEREARFl6iuP4ZZZ52v2JXDYiPPaPZ4bz5LqV3YjOShFyfAyba833Vk9wO+moB0cORuJ3jPzPoqpZOmbebbY4InY6SQdK\/HaeXkMDyWspTd3kU7PFqF5avNhERQNAREQBERAF4IBGCMgryiAk6HOmdSPt7s+xV52oT\/A7s+notW76jobR+W8maoIy2GPj5nksjV1U24yRWehhNTWNftksP8AV4HDK+miaegko31Qj2q5ry2V8hy4eHZkfVXtJrFI82E5RqOjTeXB8ua8T6f7U3Bg6aXT9U2nyBtb8jPPGFqWy\/W+7ACnmxIRnon4D8eC0li3nTcFxPtFM4Ula3JbMwY2j\/xY+fEKF4vhY0ONaGaeLw0+htIsHT95lnkktVx6tfTbnE8JAOY78Y+a3lBpp2ZdTqKpHEgiIuFhO62nLLGKZm99TK1gaOeN\/wAwF41BV\/gmm4aGD+vlYIIw3jgABxHy8SF8r1\/4hrC10GNpkAMzxy7d\/wDhHqvWmab9q6SqcA6ltp2Y+Yc\/Ph25PkO1XpWSv1PNnJynLDq7RXqzZsNsFptMNNgdJjblI5vPH04eS0UXJdK4W22VFYQD0TCQCeJ4AeuFTnJm9KNOFuCJyqhbqPVzqZzw6koIyHDkXHiPXH+FdWiZXi1z0cm59LO5pHZn+eV9dH0Lqa0e1StxPWO6VxPEt\/d+p81zaYzFfr5APcE+0O7rOV0nk48jBTi1OFR6yv6Zeg1ZC6jraC9QtGYJNmU5xkcR\/qHmuPUUDbXXsvFM3paOtbsVMYO54I7e8b\/Ed6q7jRMuNvnpJMYlYWgnkeR8jgqe07sXOy1NjuA\/NpiYy1w3hvIjwOfguRllfkdrUviOK+bNdV7o9dC3ISU01tc7JgJfGe1pO\/4\/NVi\/N9PsntWro6eRji5rzFIG9h3A+GcFfpC5VVpXXEnsM3KlhlqsgpfSLva6+73HiJp8MPYMk4z4Eei3bpU+x2uqqc4McTnDxxu+KzdG0xp9OxOIAMznSfQfABcWUGy2e9XguV3+DdREVZpCIiAIiIApa+gXfU1BaQQY4fzpgR549B8fSnc5rGF7jhrRknsCmNIsdXVtwvUgIM8hZHkDc3jj\/wCo8lZDK8jLtG840+bz6IqURFWagiIgCIiAIiIAsjUd4Fpt+Y+tVTdSBmCcndk+WfktdSVDjUerJK89ajoOrF2Odk4Prk+QU4JavRGevNpKEdXl7vyNXTlnba6ASStzVz9eZ5G\/J348vmsq4NdpnUbLjEMUNc7Znbjc13M\/M+qrVy3K3xXOglpJtwkG52M7J5FdU9674nJ0F2ajDVaf3xOlrg5oc0ggjII5rypvStwki6Wx1vVqaMkN3+83u8PlhUijKOF2LaVRVIKSJ3U9rlzHeqAhtXRjacMe+0fb5ZWpZ7nHd7bHVsGyXbnsznZcOIXaQCMEZBUpZ2usWqai0k4pqodLACeH6wR5BSW9G3Iol8KqpLSWT68GViIuK71nsFpqqrODHGdn+8dw+JCgld2NUpKKbZG1F1MVxvF2a7r\/ANlpieRO7aHZgNz596qtOWz8Ks8ULm4leNuT+8eXDko3TVK643GjpQz8ilJqJsjcXbsePBo9V+jq6q7bp52xJzvUf9vm\/byCl9XOfXVdvskOS6eTpH4PBo3f9R8lq6guVRabU6sp4mSFjmhwfnABOM7u\/CxdMOkvN8rL3LGWtAEUY2twOBkeg\/zKMFZYy7aJqbVBav0Oup1PFbq99J7ITTUxaySUOOWbt27Hdu7e1fLRzXzyXK5uaQKqfqEjGQCTu\/xfBeNHNFULnVTAPdNUYeHNB7\/rwVNHGyJgZGxrGjgGjACSajeKOUYyqONWTyzsvt6HspfUFHPa7izUNCAdnDamPk5vDP38iqheHNDmlrgCCMEHmoRlZmirTVSNuPDqSAq6eTWNuuVKQYq6Etf\/AHgCMeI6qsFOw6Ppqe9R10MpbDG8PbBjcDg8\/HZPkVRKU2naxVs0ZxxY1a7MTVVJW19uio6OMuEszRKQeDRv+ePRa8ELKanjgjGGRMDG+AGAvoihfKxcqaU3PiwiIuFgREQBERAY2rKs0mnaktOHSgRDz4\/DK6LDRCgslLBsgO2A5+7947z81kat2qyvtVsAy2Wfaf2Y4fLaVQrHlBIzQ3q8pckl+WERFWaQiIgCIiAIiIDL1HWew2GqlBw5zNhvi7d9cr10xQigsFMzY2XyN6V\/aS7fv8sDyWbq8urKu2WlucVE20\/fjcN31PoqdrQ1oa0AADAA5Kx5QS5mWO9Xk+St+X+DyiIqzUTeqrfLGYr5RDFVRkF4A95nf4fLK2rbcIrnQRVcO4SDe3Odk8wukgEYIyCpKBx0pqB1O\/Itlc7MZ5Ru7PLh4YVi3o24oyT+DUx\/K9fB8yuU5rCif7LDdacAVFE8Oz2tz9\/qqNfOeFlRTyQPGWSMLHDuIwoxdncuq0+0g4nrR1LKyjiqWDDZWB2OzuU3r2tEVtho2uG1M\/acM\/ut\/mR6L6aLmeykqrZMCJaOYjBGNx\/mD6hYmo3OvOr2UMbstYWwjfgDm4\/E+ithG1ToYq9Zy2ZNayy9ze0TbzSWY1L8bdU7a8GjcPqfNUa9IomQxMijaGsY0Na0cgOAWFcb7WPuzrVZ4I5p2MJle87mbvpkdvHCrd5ybNUcOz04xfTzOjVdRHT6dqukAJkAjaCOJJ+nHyU7oe6ezTzW+d2yx4MjMn3SPeHoM+S5r3cbg6spbffRGIo5GyyGHeXNPnjhnllcV8MdNfZauimD4pwZY3xn+Ibx5HO5Xxhu4XxPMrbQ+27WPy5W4+JV6GYfwieYjHS1DiN\/LA+uVSrI0tRuotP0zJAQ94MjgeWTkfDC11RN3kz1Nmi40Yp8giIoF4REQBERAEREAREQBFyVMNZJXUskFS2OCMu6aMtyZARuRdOJ3byMOq\/P\/aHRjlBTEkeTvuFTqYovzv2g17j1hFTgNP8ACcM\/mqdSnw6GfZ\/nf\/p+wREUDSEREAREQBERATBxWftCAO\/2Onzg8BkfH31TqYsH5+q71UfwOEfxI\/0qnU56pGbZs4ylzb9giIoGkLgvNqivFukpX4D+MbyPddyK70XU7O6IyipJxejJ7S11kmifaq3q1lH1cOO97Rz8vsqFTeqLbMx0d7t42aul3v2R77e\/twPhla9pukF2oGVUJGSMPZzY7mCpyV95GejJxfZT1WniierJ49P6wkq3jEFZA5xPAbQHDxy3\/MuHRNM+tvNRcpsuMYJ2iOL3cfhn1Xd+0DofYaTaH53SnY\/u463x2VoaNpG02n4pBjbqHGRxHjgD0Csv8O\/PIyKDe14OCz+v7NisqWUdHNUye7EwvO\/GcDgsLR1I\/wBhludRtOqK15cXO47I4fHPwX11nU+z6dlbnBne2MeuT8AV7Vk5sOkW46sscDY24\/jIxn1yVWlu2XE0zku2u9Iq\/wBf0Z9mhjvWo7rXzNbNTt\/IYHbwRw4eA+K8S6Ha24xyU1Ts0weHOje3aLe4fr1WrpahNBYKdjmkPlHSvBGN54fDC2F1zalkcp7NCdNOos9fqERFUbQiIgCIiAIiIAiIgCIiAIiICYs\/X1td3jgGBvy+yp1MWr8vXV1i4bUQfj\/D91Tqc9TNs3dfV+oREUDSEREAREQBERATOjSHPuj8AE1O\/wCKplMaL\/8Ac\/8AmT9VTqdTvMzbJ\/CvP1CIigaQiIgCkatkmkryK2AE22rdiZgGejPd8SPMKuXFePZxZ6s1bNuEROLmg4J8O\/KnB2diivDFG6dms0yG1RWC86hip6V4kjAZFG5o3Eu59\/H4Kg0hLJSurbNNnbpJS5mebT+s\/wDyUxpKOJ2pKbpnbOzlzQd2XY3KmucU1o1NHeIonPppoyyfYG8YGeHg0HyV87WwHmbO5NvaHzs+h41aRU19poG+9JPtHcSAMgb\/AIpqXF0vduso6zC7pZgCcgf9g71XmxwyXK61F\/rITDHsgU4f2Y97yG7PeV402fxW+XG9HJjz0MO0OA3em4D1PnDu+XqXv4j\/AN39l7lOAAMAYAXlEVB6YREQBERAEREAREQBERAEREAREQEwz8j9ocmd3tFNuxzwB\/0lU6l7keh17bJeAfCWHvPXH1CqFZPh0M2z6zXiwiIqzSEREAREQBERATOjQWPujDjaFTvGc9qplL6dxS6nvVHn33iVozyyT\/qCqFOp3jNsv8SXK\/qERFA0hERAFM6xqXTMpbNBky1kg2scmg\/f5Klc4NaXOIAAySeSiIap1fVXbUTm\/lU8ToqbI5kYHzyf7ysprO5k2qW7g5+nE5rfYReIbjVUbjHJBMBSFpwOrndnhnGzv7VUadvJu9I+Kobs1dOdidhHE9uPJemj6b2fTkB3bUxdIcd5wPgAuPUdFNa6xmoLc3D2HFQwcHtPM\/XyKnJ4m4vyM9KDo041V5r8+R2asuht9pMMWTUVeYow3jjmfp5hdljt34XaIKU422tzJj+I7z9lg2jb1Nfn3edmKWkIZAxw\/e4548Rx8wq5QlurCaaPxJurw0XT9hERVmoIiIAiIgCIiAIiIAiIgCIiAIiIDiq7XT1tbS1c21t0pLmYPPdx9F2oi7c4opNtcQiIuHQiIgCIiAIiICXrP6Dr6kmJIZWQ7BPfvGPg1VCnNY0shooLjAQ2ajkDgSBwJHPxAW5R1cddRxVUJyyVocO7uVks4pmWlu1Jw8\/r+z7oiKs1BEXyqaiKkpZamZ2zHE0uce4Icbsrsw9W3F8dI210uXVVadnZaDkM5+vDwyuW\/wBEy0aJFEwjO0wOcP3nZyT6he+m6WW53GbUVWMGQllOwj3W8MjyyPVfXXLXOsA2Wk7MzScDgMFXrKSiedO86c6z4qy6fs2rdH0NspYv4IWN9AFhajuc1ZUssNscHTTnZqHDeI28wfr\/ADXrWaldURst9iYamqc0NMgHVj7+\/wAeAWhp6xNs8D3zP6WrmOZZTv8AIH9b1FLDvMtcu1+HT04v8IxqYyaOuwppnufbKs9WQjcx\/b3fbHYrAEEZByCuW522C60L6SoHVdvDhxaeRC4NNMudNTzUVxjOzTO2YZic9I3f8BgevcuSeJX4k6cXSngXdenh4extIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHzngjqYJIJW7UcjS1w7QVL6dqX2S5S6frXYBdt07ydzgeXn88qsWZfLJDeaYNLujqI98Mo4tP2U4taPQz1oSbU4ar7rkaaKTg1FcrM9tLfqN7mjc2pjGdodvYfge5aR1dYxFt+25\/4ejdn0wjhIR2mk9XZ8nkbJIAyTgBSNdPJq64\/htE7Zt9M8OnmB988sfHHqk1dW6vl9joWSUtvB\/OneN7+7+XqqW32+mtlK2npY9hg4nm49pKl3NdStt7Q7LucfHp4H3hijghZDEwMjYA1rRwAXieCKpiMU0bZGO4tcMr6IqjXZWsc9JQUlA0tpaeOEHjsjiuhETUJJKyCIiHQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA9XsZIwse0OaeIcMgrMjtNtFwkaLfSgBo3dC3u7kRW09GYdq70TUAAGAMALyiKo3IIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/2Q==",
    "razonSocial": "TRANSMAT SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "RAUL VARGAS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA UNA LINEA AZUL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:53",
    "ubicacionGPS": "LatLng(lat: -23.7523839, lng: -70.305939)",
    "horaLlegada": "11:32",
    "horaDespacho": "11:24",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 11:52:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 11:52:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76270521

[15/06/2026 11:52:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76270521', 'KY2466', 1, 24456550, 276818, NOW(), 
				'11:24', '11:32', '11:53', 4, '•Se limpia escaner de ADF', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781538762.png', '•Pendiente RGOM2356×2, RKIT2442, RGOM2758/59, RGOM2576
•Pendiente instalacion de controlador en computadores nuevos', null, 'REPROGRAMADO','LatLng(lat: -23.7523839, lng: -70.305939)' )
				
[15/06/2026 11:52:42] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200720

15/06/2026 11:52:42 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200720'                    
				WHERE idllamado = 13014			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, khapo73@gmail.com


15/06/2026 11:52:42 sql: 
				UPDATE llamados
				SET 
				    estado = 'REPROGRAMADO' 
				WHERE idllamado = 13014			
				
15/06/2026 11:52:42 sql: 					
				INSERT INTO llamados(rut, serieinterna, correlativo, tipo, otrotipo, idfalla, otrafalla, coderror, prioridad, pendiente, fecha, nombrecontacto, telefonocontacto, correocontacto, idllamadoref)
			    VALUES('76270521', 'KY2466', 1, 'APP', 'sin otroTipo definido', -2, 'INDICA UNA LINEA AZUL', 'Sin coderror', '1', 'SI', now(), 'RAUL VARGAS', '984818954', 'tecnico@dsprint.cl', 13014)
				
15/06/2026 11:52:42 Insertado nuevo llamado creado idllamado: 13041APP
15/06/2026 11:52:42 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 11:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:23 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:53:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:53:23 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:53:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:53:23 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:53:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:53:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13014
            GROUP BY l.idllamado;
            

15/06/2026 11:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 11:53:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 11:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 11:53:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13014
                

15/06/2026 12:46:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:46:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:46:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 12:49:01] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 12:49:01 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 12:49:01] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 12:49:01 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 12:49:02 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:04 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:04 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:04 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:04 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:48 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:48 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:48 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:49 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:49 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:49:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:51 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 12:49:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

[15/06/2026 12:49:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:49:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13042
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN, ASISTENCIA REMOTA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 12:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:49:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                
=========================================
FECHA: 15/06/2026 12:50:45
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-TSht9NHaveyGN+X3_XXii+ZdheKRP_bBOkbI8lxxCwihrOEdN1s
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "TO3090",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se soluciono problema con el escaner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13042",
    "observacion": "Se soluciono problema con el escaner",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDANkDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABAEAABAwMBBAcGBAMGBwAAAAABAAIDBAURIQYSMXETFEFRYYGRIjKhscHRFSNC4Rai8CQlM1JycyY0Q1RjktL\/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAgMBBP\/EADARAAIBAwIEBAUEAwEAAAAAAAABAgMRMRIhIkFR0QQTMmGBkaHh8BQzccEjQrFS\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREARRq64Uttg6armEbeztJ5DtWedervfndFZKZ1NT5w6rmHZ4ftk8lSi3uY1K0YO2X0WTQV9zo7bF0lZUMiHYCdXchxKoXbXz1ZLbTaKip7N94wB6Z+akUWx9DE7pq9z6+occufK44zyzr55V8xjI2BkbQxrRgNaMAKuBe5navPL0r5vsZnd2yrdd+loGk8NCcfzL5ll2qs0bp5pKaupohvP1wQ3t10PzWqUK8UlRXWuelppI2SSt3cyAkY7eHBFPfdI5Kg1FtSd\/wCfxHS3VrLhQQ1bAQ2VuQD2KSolrohbrZT0e8HGJgBI7T2n1UtQ7X2PTC+lashERcKCIiAIvCQBknACzdbtNPV1XUdn4RVTDV8x9xo8Pvw5qoxcsGdSrGmuI0qLL0tXebZeqSlulWypFW0jDG6MPYdB3nHYFqElGxynUVRPa1giIpNQiIgCIiAIiIAiLnPPFTQvmnkbHGwZc5xwAgbsdFQXfaZlNL1G2x9crnaBrNWs54+XrhQai63LaWV9JZWmGjHsy1Lxgnvx3cuPJXdosVFZoi2nZmRww+V2rnfYeC00qPqPI6k621LZde3cq6DZeWpqOv36XrM51EOcsb\/XcNOa0rWhrQ1oAAGAB2L1FMpOWTanSjTXCERFJqEREAREQBERAF45wa0ucQABkk9i9VJtXcH0doMMOenq3dDHg4xnic8tPNdSu7EVJqEHJ8itq6uq2qrn26gcYrdE7E84\/wCp4D6epWjt9tpLXTCCkiDG9p7XHvJ7Vzs9vbbLVBSAasbl573HU\/FfV2uDLXbJqx+CWN9lp\/U48B6q278McGNOGhOrUzz9vZFJJm47exBpDoqCL2+4Eg\/HLh6c1p1ntkLe+GhkuNQM1Nc7pCTx3eI9ck+YWhXJ5t0Hhk9Dm8yd+30CIig9IREQBERAERU182hitIEELOsVsnuQt7PE4+XaupNuyInONOOqT2JV2vNHZ6fpal\/tEHcjHvPPh91Qw265bUTtqrtv0tE3Bjpmkjf5\/f0wpNo2dkln\/FL4enrHnLY3atj7tOGfgFpFd1HGTzqEq29TaPTv2OcFPDSwthgjbHG0YDWjAC6IizPWlbZBERAEREAREQBERAEREAWYvbRNthZ4nOyGZeGnPHU5\/lC06zG1o6nV2y6jhTzbr9CdM5+hV0\/UebxX7d+jX\/TTrLXTF92op7WMupaP82o0yC7u+Q8z3KbtDfWUNvDKN3S1VS3ETYzkgEe+u+z9mbaKEB\/tVMvtTPznLu5djwrUTUfmz8tYW77fEtGtDWhrQAAMADsXqIsz1hERAEREARFnr7e5usCz2ob9dLo5wOkQx39+PRdjFt2M6lSNON2e3vaGSGoFstMfWK9\/HAyI\/wB\/kuti2eZbd6rqn9Yr5dXyu13c8QPuu9kscFnpzj82pk1lmPFx7uStFTkkrRMoUpSl5lTPJdPuERFB6QiIgCIiAIo1ZcaO3sD6upjhB4bx1PIcSqObbOCV\/RWuhqK6Twbuj6n4KlFvBlOtThtJmlRZbe2wuTWlop7czx94\/Mj4L6\/g+aqObleqqoH+UaY9Sfkq0JZZn585eiD+Oxp0WY\/gG1f9xWf+7f8A5Q7EU0ZLqW41kLjrneB18gFy0eo8yv8A+Pr9jTosm243DZiuZTXWfrNDL\/hznJc3HZ8tPiux2wdh87bRVOpA\/dbMBocHGeHf2LvlvkcXiqeJbPoaZZ7au6UTKGS2PaZ6qoAayJnFrj7pPdrjmo8l6v12cYLXbTSsJI6xN2cuwfFWFk2dgtWaiV3WK1+r5na47wM\/PiiSjuyZVJVloprbm3\/XUpNjKKldV1DqthNwpSGhjx7jRpkeOdPRbRZfaWilt1XFtBQN\/MiOKhg4PbwyfkfLuWgoa2C40jKqmfvRvGfEHuPik+LiHhkqd6TyvqupIREWZ7AiIgCIqXaK+\/hMLIKdvSVs+kTMZx2ZPn2LqTbsiJzjTi5SweX++m3htFRN6a4T6RsAzu57SvrZ2xC0U7pZ3dJWT6yyE5x24B+feV87P2J1vDq2ud01wn1e8nO5nsBV2qbSWlGNOEpy8ypnkun3CIig9IREQBF8SyxwxOlleGMYMuc44ACzM9+uN7ndSbPxYiGj6yQEActNPifBVGLZlUqxp5y+XMtbttBQWjDJ3mSY8IYxl37KpFRtPe5PyI\/wqlP6nj2yPPX0xzVjZ9m6W1u6xI41VYdXTyakHwHZz4q5VXjHBl5dSpvN2XRf2+xnqHY23wO6Wsc+unJyXykgZ5Z188q9hhip4xHBEyJg4NY0ADyC6Ipcm8m0KUKfpVgih113oLa3NXVRxnGQzOXHyGqoHXa8bQvMdmiNJSZw6qk4nl3eWeYRQb3JqV4QdsvoslnfNpKOytLHfm1JGWxN+p7FT0219xuMLIKG29JWOJ3na9G0d\/xHEq2tmy9DQB75x12okBEks4znPHAP7nxUqvraGwW8zOjZEwaMjjaBvHuACtOOErswkqz45y0rp9zHXO11c16t8Vwq+s1dS8dJGNREzI4Du4nTHA81v2taxoaxoa0cABgBZ7Zm3zyyy3y4A9Zqf8Np4NjOMcvtzWjXKkr7dDvhaelOfUIiLM9h8ua17Cx7Q5rhggjIIWTkjm2QujqiNrn2ipdh7Br0Tj\/XmNO5a5c5oY6iF8MzA+N4w5rhoQqjK38GNWlrs1s1hiGaOohZNC8PjeMtc06ELosjTyVGyd2ZRSF8tsqn4je45MZ\/rGnmFrklGwpVdaaas1kIi41dXDQ0slTUP3I4xkn4fNSatpK7IV9vUVkoemeN+V53Ymf5j9lBsVkm6wbxdTv10urWkaRDHd349FFstFPfri6+XJp6Frv7JC7gBnQ+XxK1a0fCtKyeWmnWl5kscl\/fYIiLM9YREQBcaurgoaZ9TUyCOJgySV2WP2kkp6naCnpLpM6Chib0mQHYee7Tz1+SqEdTMa9Ty4XWT3FZtlU679NaInaaYdKR\/XIeK1NJSQUNMympoxHEwYACqBtVs\/SxMiiqgGNADWxxOwB6KPJtzbt4MpqepqJHaNa1gGT65+CtqUtktjzwqUafFKacnzNKvCQBknACy\/4ttRcADRWllKw\/qmOo8dcfJe\/w3dbm8G93Uui4mGDQH4AfArmi2WafqHL0Rb+i+pLuG19roi6OOQ1Uw0DItQT\/AKuCh9Y2mvbt2CIWumJ1e8e2R5\/THNXdvs1vtbcUlM1jiMF51cfMqcmqKwh5VWf7krey75KGg2Rt9M8TVRfXT9rp9W5\/0\/fKvGtaxoaxoa0cABgBfSobvtNFSy9Rt7Ot17\/ZaxmrWnx+3yXOKbL\/AMVCN8fn1LK53WktNN09XJug+6wauee4BZ6joanamvZdLlEYqGL\/AJenP6\/E+B+Kk23ZqaaqFxvsvWak6tiOrGfTy4c1owABgDAC7dRxkzUJ1neorR6d+x6iIsz1hERAEUC5XmgtLN6rnDXEZbGNXO5BUBkvu1OGxsNvtzznfPvPb9fgFag3u8GFSvGL0rd9F+bHu09bHeJ4bHQ5nlModK9mojAyD566rQfh3\/l\/l\/dfNqs1FZ4ejpY\/aIw+R2rncz9FPRy5ImnSd3Opl\/QLJ3R79pL8y0QOIpKR29VOBwHYIyOY1HPPcrbaS7C0Wl8rSOmkO5EPE8T5DPwXmzVp\/C7W3pQesz\/mTEnXJ7PLPrldjwrUTV\/yzVJYy+3xLSKJkMTIo2hrGNDWtHYBwC+0RZnrCIiAIiIAuNTSU9ZGGVMEczQcgPaDhdkQ40mrMhR2a1xe5bqUePRN+ylRxRxDEcbWDuaML7Rdu2cUYrCCIviWWOGN0ksjY2NGXOccAea4Ufai19yo7ZB01XM2Nuu6Dxd4AdqoqvamWsnNDYKd1TPwMxb7DR3\/ALnTmvug2UEkxrL3N12pd+kk7jfv8lpotvI8rrub00Vf35fcjOrbztQTFb43UFB+qd+jnjw+w9Vd2ixUVmiLadmZHDD5Xaud9h4Kxa0NaGtAAAwAOxerjldWWC4UFF65O8uvboERFBuEUetr6S3w9NVzshZ2bx1PIcT5LOy7QXO9OMFgpHsjzh1VKAAOXYPifBUotmNStCGz3fRZNBX3OjtsXSVlQyIdgJ1dyHEqgdfLvfXGKyUhgpycOq5tMcuz0yeS7UGx8DZetXWd9fUHU75O79z5+i0LGMjYGRtDGtGA1owAqvGONzPTWq+rhXRZ+ZSW7ZSjpZBU1j3V1VneMkuozy7fPKvURQ5N5N4U4U1aKsERFwsy1X\/fG20VG4E09vZ0jxnRztD8y30K1KzNuHVNt7hFIC3rTN6JzhgOIwSB38T6LTK58kebw++qTzdhERQekIiIAiIgCL5e9kbC+RwY1oyXOOAFS1219pozuMmNVJnG7AN748PiuqLeCJ1IQV5OxeLlUVMFJCZqmZkUY4uecBZz8R2nuulFQMoInZHST+8PHX7FfcGyPTzipvNdJXScdzJa0H7csK9KXqZh58p\/txv7vZdzybamor5jTWChdUuBwZ5AQweWnxxyXxFsrWXGYVF\/r3TEaiGI4aPt5DzWlhghpohFBEyKNvBrBgBdE129I\/T696rv7cvl3ONNSU9HH0dNCyJuckNGMnx712RFmelJJWQRQq+72+2NzV1TIz2Mzlx8hqqL+IrreZHRWOiMcXA1Mw4fQfHkqUG9zKdeEHbL6LJoq2vpLfD01XOyFnZvHU8hxPks8\/aG53h5hsNEWszg1Uw0HIcPnyXei2ShM3WrvUPr6k8d8ncHh4\/LwWgYxkbAyNoY1owGtGAFXDH3M7VqmeFfX58jP0WyUJm61d6h9fUnjvk7g8PH5eC0DGMjYGRtDGtGA1owAvpFLk3k2p0oU1woIiKTQIiIAiIgKq82RtzdFPDMaergP5cwGcDOf65lVbb\/AHi0MLLzbjM1vCeDGumdRw89FqUVqW1nuYTo3lqg7P8AORQQ7aWSVuXzyQnufESfhldztZYw3e6+3H+2\/PphT5rdQ1BzNR08pzn24mnXzC4ixWkO3vw2lz\/tNx6Jwe5NvELmvk+5CdtjY2nAq3O8RE\/7Lg\/bmzt4Cofp2Rj6lXDbTbWDDbfStHhC0fRd2QQxf4cTGf6WgJeHQafEP\/ZfL7mcO1dfVD+7rFUSA8HvyB8B3+PYvP8AjGvxrTW9ufAnH8304rUIu60sIeROXrm\/hsZgbGuqXh90utRV44NGgHqSruhtFBbQOqUscbsY38ZceZ4qYilzk8lwoU4O8VuERc56iGlhdNPI2ONoyXOOAFJs3bdnRc5poqeMyTysiYOLnuAA8ys3JtLXXWZ1Ns\/Rl4GjqiUYa37efokOyM9Y5s17uM1S8HPRNcd0eGfsAtNFvU7Hl\/UOe1JX98I7Vu2dvgkMNHHJWzZw0RjDSef2BUdzdqryCCY7XATnQnfx5a\/JaGjt1Hb2FlJTRwg8d0anmeJUlNSWEPJqT\/cl8Ft9yht+yNvpJTPUl9bOTnfm1GeX3yr0AAYAwAvUUOTeTaFOFNWirBERcNAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALxzg1pc4gADJJ7FT3baehtbjC0mpqs4EMff3E9nzVYLVfNoH792nNFRk5FPGcOI8f39Fahzex5511fTBan+ZZJuG10Ec3VLXC6vqToNzVnqOPl6rlBs1WXWdtZtDUl54iljOGt8Mj6eqvaC2UdshEVJA2MY1dj2ncz2qWu6kvSSqEp71nf25fc5wwQ00QigiZFG3g1gwAuiIsz1JWCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvCQBknACAOcGtLnEAAZJPYstU3Wv2hrJLfZX9DTM0lqz3eH07TyXOuraramudbLa4xUMZ\/tFRj3vD9u3ktLQUFPbaRlLSs3I2+rj3nvK0soZyeRydd2i7R69f49vch2fZ6is7d6NvS1B96d49o8u5WqIobbd2emEIwWmKsgiIuFBERAEREAREQBERAEREAREQBERAEREAREQBERAFm9pq+aeogsNC7E9XpK7Gd1h4\/DJPgPFaRZXZZrbheLnd5PacZOjjOcgN58g0K4c5dDzeIbemmv9v+czQW23w2uhjpIB7LBq7Grj2kqUiKG7noSUVZBERDoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFDtlBS26lMFJEIo99xxknJzjieQRF3kS0rpkxERcKCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "HEIDI PATRICIA CAVIERES ARAYA",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "HEIDI CAVIERES",
    "correoContacto": "hcavieres@notariacavieres.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN, ASISTENCIA REMOTA.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:51",
    "ubicacionGPS": "LatLng(lat: -23.6618282, lng: -70.3999477)",
    "horaLlegada": "12:49",
    "horaDespacho": "11:32",
    "idMovimientoMaquina": "14",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 12:50:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 12:50:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:12576383

[15/06/2026 12:50:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('12576383', 'TO3090', 1, 19969062, 0, NOW(), 
				'11:32', '12:49', '12:51', 14, 'Se soluciono problema con el escaner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781542245.png', 'Se soluciono problema con el escaner', null, 'COMPLETADO','LatLng(lat: -23.6618282, lng: -70.3999477)' )
				
[15/06/2026 12:50:45] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200721

15/06/2026 12:50:45 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200721'                    
				WHERE idllamado = 13042			
				
15/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                
TO ENVIO: micorreo@miempresa.cl, hcavieres@notariacavieres.cl, khapo73@gmail.com


15/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:45 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13042			
				
15/06/2026 12:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:45 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:50:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:50:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:50:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:50:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:51 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:50:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:50:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:50:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:50:52 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 12:50:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 12:50:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:50:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13042
            GROUP BY l.idllamado;
            

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                

15/06/2026 12:50:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13042
                
[15/06/2026 13:07:03] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 13:07:03 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 13:07:03] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 13:07:03 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

)
[15/06/2026 13:30:48] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 13:30:48 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 13:30:48] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 13:30:48 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

)

15/06/2026 13:30:48 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:50 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:50 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 13:30:50 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 13:30:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:53 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:53 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:53 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 13:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[15/06/2026 13:30:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:53 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 13:30:53 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 13:30:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

[15/06/2026 13:30:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 13:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 13:30:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 13:30:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 14:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 14:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 14:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

15/06/2026 14:29:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                
[15/06/2026 15:17:48] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:17:48 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:17:48] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:17:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:17:48 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:17:48] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:17:48 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:17:54 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:17:54] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:17:54 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

)
[15/06/2026 15:17:54] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:17:54 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:17:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:17:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 15:18:40] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:18:40 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:18:40] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:18:40 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:18:40 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:18:40] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:18:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 15:20:00] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:20:00 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:20:00] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:20:00 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:20:15 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:15] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:17 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

[15/06/2026 15:20:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:20 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:20 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:20 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:20 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:20:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:20:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13046
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:22 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:22 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:26 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:40 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:20:40 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:20:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:20:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:25 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:36 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:41 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                
=========================================
FECHA: 15/06/2026 15:21:56
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-+tc_nH+LyyUo8tAJwUzGa.7b-pbDOW4s_.KPmVWBesI8Rx3BjIM
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152162",
    "serieinterna": "KY2755",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "Piso 3",
    "ciudadmaquina": "ANTOFAGASTA",
    "departamentomaquina": "Informática",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se instala impresora",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13046",
    "observacion": "•Reporte pendiente, máquina no estaba registrada en el sistema\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADVAR8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABHEAABAwMCAggEAQgHCAIDAAABAAIDBAURBiESMRNBUWFxgZGhFCKxwTIVFiNCUtHh8CQzQ3KSssIHJURTYoKi0jQ1Y2Xi\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwUGBAYDAQAAAAAAAAECAxESITEEE0FR0SIyYYGRoXGx4fAUIzNCUsEkU\/Fi\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCKHs92mr7ndKWZrGtpJQ2PAwSMkb\/4c+amF1qzsyEJqccSCIi4TCIsJZBFE+Q8mNLj5ICK09eJr1FVTvjYyFkxZEWjBI57788EKYVV0bPT0OnXS1M0cLHzuIc9wbnYDr8F0VGs7eJOioYZ66TGwiYQPff2VkoNyaSMdKvFUoupLNliRVyn1BeKuojbHp+aOJzhxOkcR8vWdwOpWNRcWtTRTqRqZxCIiiWBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFXtpFLry5U42bPGJBvzPyn7lWhVi7\/AND1raqv9WdphPedx\/qClNQ3B9sss9TE7hlbgMOAdyQOtWSV2vEyUpKnGd+DfUk0UE\/U1JbrZTvr5uOrfE1zoo8F2SM79QXEPzg1GeIOdaaI9W\/SPHb1H6DxXFB8Sb2iOkc3y68iWumordaQWzzcco\/so93efZ5qv3G83+4WyaeCiFHRcB43vwXOb2DPb2gea3XPR0NJbentrpXVkDuk43uyX43xjl3heXW\/tuOinTtIZLK9sMjex3M48QPdWRUcrZmSrOo8SqPDldJcfMx07pOhqrbBW1vHM6UZbHxYa0Z7uf8AFWumo6ajZwU0EcLexjQFrtlN8Ha6WnxgxxNadsb43911KucnJmuhRhTgrLMIiKBoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCLkr7nR22LpKuoZEOoE7u8BzKgDfrtfXuhsdL0MIOHVM3V9vqVJQbzKaleEHbV8lqNcyRR01HKJGiohmD2M4vmLesjzAURer3W38UtKyldTUtRKGxk7mQ5A9uIKSrdMUdDaKyruNWZ6xzHETSEgB+NgB1nOyj7JUm7XeywEk\/BQu4ye0E4x5Bq0Rso3WdjzK28dRxllitl52zLLatK2218L+j+InH9pKM4PcOQU0iLM23mz1oU401aKsF89ulpbSashoQ9opaudkoYTtuSMY9QPFfQl8\/u0U15ul0uNM7Dba1oY5p5lp3OfJx27lbS1Zj25Jxjld3\/6fQEXFZ6\/8p2qnq8AOkb8wHU4bH3XY5wa0ucQABkk9Sqas7G2MlJKS0PUVam1eH1MrLfb5ayCEZkmacAAcyNuzKmaC501xt7a6J4bEQS7iI+THMHsXXBrNlcK9ObtFm+apgpwDPPHEHcuN4bn1VUu+rp56n4GxxmV+SDIGcXF\/dHruufUEk2p7t8Ba2CVlIxznycWGuPZn2HeT1bru0tcbdA4W2SjbRXBg4H5b\/WEd\/PPcfJWqKirtXZjnXlVnu4vCufPwRK6eprhTW7\/eUnHPI8vIJyW56iVKoipbu7noQioRUUERFwkEREAREQBERAEREAREQBcVzutLaKds9WXhjn8A4W53wT9lsq7hR0IzVVUUO2QHOAJGccuagdU1VJc9NzPpKiOYwva8hp3AzjOP+5TjG7VyitVwQlheaRZgQRkHIK9XNbphUW2mmBz0kTXeoC6CQBknACgXJ3Vz1FC3HVdrt\/yCX4mU8mQYd6nkoauu19qoXTyEWeiH6zx+kd3AcyfDHipqm2Z57TTjks34fdiyXG9W+1NzV1DWuPJg3cfJQj75er18lkoHwQn\/AImcAenV6ZUfpiKz1dxLJ4Z6iqc3ja+o3Du04\/fnxV5AAGAMAKTSg7WzK6bntCxYrLw19SuUGj4Gy\/FXWd9fUHc8ZPD+8+fou+6Xy3WKIRyEB4b8kEY3x1dwC5LtV36esdQWyk6FuwdVP5YPWDy+pULcrdBZI2U0JNfeKw7Pe3JY05GWjtz1nvUksT7TK5TVKLVKNubf3ds5Wz3HWV2ZDITFSg5IaMtjA6+8nlnv7F3aPo2U2pLjGHZ+HDom5IyRx4z7e6sdotkNhtXRAhzmgvmkA3cf52VN0rVSQ6kimmcGtrg8E52JJJ+o91K+JNLQz7vdVKcqmcm8z6KiIsx7Jx3WtFvtVTVnnGwlvL8XIe+FGaSoRHp4OmbxOrC6STi3yDsM9uwz5rRrSUywUdrjfiSrnaMd3L6keisUMTKeCOGMYZG0NaO4DCs0h8TKu3XfKK939CtaRc6hrLhZJXAugfxxnHMcif8AL6pqKsmulfHp+3yAOf8ANPJnYDfLT9fRcuq6l9nvtPcqORgmfE5j2beRI8\/\/ABXDp6pubKSVlot3S1ErsyVcpGB3DO3fzPgrcN+2YnUw\/wCPyfDW3IukVJS2u2OggY2KFjDknbO3MntVEprk782I7TBITU1VTw4BOWt+XHV1lWBmlKm4SsqL7cX1Lh\/Yx7NHn+4BabFpp1JqOoqJaZ0VPTkin4ncXHnYOz4emR2LkXFJ3dydWNWcoqMcK08v6J+zWqGz29lNGAX4zI\/9t3Wf3LXebFSXuFrJwWSM\/BK38Q7u8KTRUYne56G6hgwWyKlDeblpuRlJe4nTUu7YqlnzOPjv\/HxVphmiqIWTQvD43jLXNOxCTwRVML4Z42yRvGHNcMgqrTWW56dldVWOR09MSDLSv+ZzvDbfy38VPKfgyj8yh\/6j7rqW1FGWa+U15gLov0czP6yFx3afuO9Sag007M0wnGaxReQREXCQREQBFpqqunoYDPUytijHW5Rb9XWNn\/HcR7GxuP2XVFvRFcqsIZSkkTSKuSa5s7CeEVEn92Mb+pC1\/nfUz\/8AwrFVzg8nHI+gKlu5cip7VR\/l6ZlnUJf76+3GOjoojNXz7RsxkN7z+5R1Vd9UGklqBb4KOGNvEXyHLgPAn7LgtOnq6\/Nddqq4vhdUEglrfmeBt3ADb2U4wSzkymrtEp9iknd+WXmSFNYrVQtNTf6qKasl+Z\/TS4AJ7B1qC1DNZAWGyu4XkFkoa08Lmkd\/2Vop9FWeE8UrZqh3MmSTr8sKUbabeyCSCOjhjZI0tdwMAJB713eJO97lb2Wc4YbJe79Sp2O6X6otMNHbKKPgiyw1Mh2HX7ea7hpa5XE8d5u8jwTnooTty9B6LToOfgFdQudux4eAdu4\/QK3SSMijdJI4NYwFznE7ADmUnJxk0iWz0o1aSlNt+HDIqdZU2fSFUyCG2mWd0XG2VzsnO4G55cupbLfYqm9Ttud\/JORmGm5Bo7x9vVRVoqzf9Zsqalocxgc6Njh+FozwjyJz4q719WyhoJ6p+4iYXY7e5JNxsuJGjGNVOb7ieS\/tlfoQyq11VyRjhZSQCMY5Z2GMevorQq9o6key3S3Cb+urpDI7wyce5J81YVXPW3I1bMnu8T45+porKuKho5aqZ2I4m5JVe05Rz3GvfqKuAD5QWwR\/st5Z9MjzJ601HM+53aksELTwucJZ3dQb2eg7esBWWKJkMTIo2hrGNDWtHUByC73Y+LOfq1fCPz+hG6mqRS6drHk4L4+jHfxbfdVq4Uj7bpux18YAfTPDzt+382\/pjzUnrZ7paeht7Dh1VUAbDOcbfVwUpfaEVOnqmljbnhiyxo3OW7ge2FKLwpFNaLqTnbgl669CRY9skbZGODmuALSOsLJVS2asoKOwUgqHvkqGs4OijGXbHAzvt1c15LLqO+McWs\/JNF1ueSHkfX6KO7d8y78VBxWHN8l95HLebtTQazZNUlz4qGPDWxjcvxn7+y31Nx1DcYZKljfyVQMYXOkePnI7s757MYWGiLTBLBNcKiFsr+k4YnPGcY5nHn7LfeJX6ivTLJTO\/otO7jqpADzGQW\/z1+Ctdr25GJY3Tc2+88kupX4LDNV2Otu8r5CW\/NFx85AD8zj5ZVyop66vtNsqKGaFjTw\/EB45tGzgMDnkHsUmaWH4I0jGBkJjMYaOQGMKB0TK4Wuejk2kpZ3NI7Af45UJSxJvkXU6Co1FHmvdZlkREVJ6IREQBERAVu+2SaKo\/LNnPRVcfzSMHKUde3b3dfjzk7Jd4rzb21EeGvHyyM\/Zd+5SKq1BGLfruqpoAGw1EPSFvUDsdvPPqrE8UbPgZJLc1FKOknZrx59S0qn3DWFbbLzNSz0jDFHL1HDjHjbH19lcFVdaUD2shvFOB0tOQ1+2ctzsfI\/VKdsVmNr3ip4oO1ixUVbT3ClZU00gfG8bHs7j3roVGoq6OzVkNypci1V5DZGZ\/qX9Yx3fRXhrg5oc0ggjII61yccLJ0K28Weq+7+ZhNDFUQuhmjbJG4Yc1wyCuVlltUe7LdSg9vQtJ+i7kUbsucYt3aNcdPBDgRQxsxy4WgLYiLhJKxV9b18sVJDboD89WcOHXgEYGe8qwUNK2hoYKVm4iYG57cDmqLdqkXHXMLD+CKojhG\/UHb+5K+hK2atFIxbPLeVZz5ZBERVG0+c6fqXUerQ8nhjnlfCT2knYevCrLrKpeLbDQQk9LWyiMAHmM79\/PHqquaZ0lnuFXESJKSuDw4HcA7fXHopuGpbetZUUg3jp6US4HUSM7\/4gtUl2sXI8WjJqm6X8mreeT+RjpyijpdWV0UX4KaARDI3J+XJ8yCfNdWsKkztpbLBkzVkjS4Dqbnb3\/wApWOjz8VWXavznpp8DA2xkn7hLOG3LV1xuDmhzaX9FE8cs8tu3YH\/F4KD713wL4K9FQj+5v0\/4WSngZTU0VPHngiYGNyeoDAWbnBrS5xAAGST1L1cF7nNNZK2Vv4hC7HcSMD6qlZs9GTUIt8iF0sw3C63G9vG0jzFFz5bdvdwq0qnWm\/0Vl0\/S0zGmqrHgu6GLnkkkZPVtjtPctk1HfLzC+e7VP5OoWtLnQR\/iLRuc\/wAfRWyi3K7yRho1lCmlFXlq\/PPNnHe7xD+d9PLE01TaRmGMhOeOQ52z5jt5LvdRakvzR8ZOy20zv7KPPGR3\/wAT5LzQdCxlBNWujAfLJwscRk8I7\/En0VrSclF2XA5QourHHN5Szsin6So6ejvNxopYmunp3Zjkc3fhzjn1dXqrPciW2yqcNiIXkf4SoCtP5N13S1OeGOuj6Nx7XcsezFaFGbu1Iu2aKUJU1wbXQqVnrvyVoN1YwZe0u4f7xdgH6eiktKW0UNoZM8ZnqgJZHHmc7gHfv91MdFH0YjDAGD9UDAWa453v4kqdDC4tu9lb6hVez4otaXWjaMMmaJRt17H\/AFFWhVe4f0TXtBNjDaiLgJ5ZPzD\/ANV2HFDaMnCXJr3yLQiIqzSEREARFrmmip4XzTPDI2DLnOOwCDQTzxU0D55nhkcY4nOPUFW9Mtkud1rb9I3hZN+ihaSCQBjPhyHuueoqajWVSKSljdFbYXgyTHYuI7PLq8CVbIYYqeFkMLAyNgw1rRsArH2FbizJF7+aku6vd\/Q2LXPBHUwSQSt4o5Glrh2grYirNbVyl2GjYypumma75mn54\/3jvxwnyXZp2umtlc\/T1xd87N6eQnZ7ewfbzCw1ZG623Ghv0I+aN4jkA24hufpkei7dTWv8qW1lZRuHxNOOlie3m5vPAPuP4q9tPXj8zzIwlTbUdYe8XwJ5FG2K7MvFsZUgYkHyyt7HD+cqSVLVnZnowkpxUlowtVTM2mpZZ3fhiYXnfGwGVtULq2pFNp2p7ZcRjzO\/tlIq7sRqTwQcuRTmQOprZQXuT8Tq8uOB1DB+rXL6UCCMg5BVfqLS6TRDaLH6VlOHgAb8Q+Yj6jzXbpyu\/KFippi4l7W8D8nJ4htv48\/NW1HiVzJs0N1LA+KT8+JKLVUzfD0ss3\/LYXegytqh9VVXwunaojOZG9GMf9Wx9sqqKu7GypLBBy5EfpWiFXpeoZMS74x8nESfL65ULpgvt77xUSbSUtM5vP8AWzyz4tVysNO6lsdJE78XRhzvE7n6r5vJXVLpa58XF0dwe5pwPxHiDtu\/f3WiPackeTXtRjSk9Un8upddLxGi0iZtmueJJfsD6AL3REbG2IyhoDpZXFxzknqW+trKCy2JtDUVDY3in6NrGnLieHGcDv61W7C293S2CgoZWUtJE4h8wJDiTuR79WPFRtiTfiXYlSnCKV2loueRarrqO32n5JHmWc8oYt3efYoKop9S6kp3mRrKGlIy2F2xf2A9frgdym7RpugtOJGM6ao65pNz5DqUuoYlHumh0qlVfmOy5L+2QOlrTFRW2OWWgFPWHIe5+7jvjO\/LPYvNZVj6axmGPPSVTxEMNztzP0x5qfUddLQ251FFMZzEaSXpMBueIbbey4pXldkp0nGju6fwN1roRbbZT0YIPRMAJA5nmT65XWiKDdzRFKKSRW9bQP8AyZBWxfjpJg7PYDt9cKfpp21NLFUMGGysDx4EZXNeqY1dmrIAMudE7hHeBke64tIVPxOnKfJy6ImM+R29iFZrD4GddnaGua+RNoiKs0hVjWP9HltdwG3QVIBPjg\/6VZ1Aa0iEmm5XEf1b2OHrj7qdPvIz7Ur0ZevpmT6Lmts3xFspZsg8cLHEjvAXSoMvTurhFhLLHDG6SWRsbGjLnOOAPNVur1XJWTGisNO6pndt0zm4a3vx+\/A8VKMXLQrqVYU+8+pL3a9UdngMlTIOMjLIh+J\/89qgorfdNUytqLqX0lA3eOnacF\/ef3nyXbbNLsjn+Ou0vxta7c8e7WHu7f52VgUrqPd1Kd3OtnUyXLr0NcFPDSwthgjbHG0YDWjAC2IirNaVskEREBwXuiNws1VTNGXuYSwf9Q3HuFw6PrxV2OOEn9LSno3jGMDq9voVOqoWjNq1vW0H9lVAvaO\/8Q9AXBWRzi15mSr2K0Z88n\/RnUZ0tqIVQyLdXnEnWI35znHd9Mq1ggjIOQVzXKghudBLSTj5ZBscbtPUQoXTFfNBJJYa88NTS\/1RJ\/Gzu8Oru8EfaV+KEfyamD9r08Hy6FkVY1r+ljt1LzEtSNu3q+6s6rGpPm1JYmncCYkDv4m\/uSn3iW1fpNc7fMsxAIwRkFQGnbfWWuvuFK6HhoTJxwOz29Q8seisCKCdk0WypqUlLigqrqB\/5W1FQ2aMksicJZ+Hq\/kf5lNXm7wWehfPI5pkx+jjzu93V5dqpdlivtxqKqqomiN9U4iSrftwjOSG\/wAM8hyVtOP7jJtVVNqks7625fUut1ulFbaZxq6hkZc08LebneAG6+YMlnkpmRxt+Wl4peJo3GS0ZP8A4q+U+jqKOOV9S81VVK136R\/4WkjmB+\/K5dN6ampqCuZXx8DqpgjaA7k3B9OfspQlGKZRtFKvXnFNWWf2zosmmbb0EVwmc6ulmaJA+bluM8u3xyumis1Vb9Q1FVTzM+CqgXSRn8Qf3bdpWjRlS51sloJSOlopSwgdhJP14vRWJVzlJNpmuhTpypxlFW4+YREVZrCIiAIiIDwgEYIyCqxo8\/C1V0thI\/QT8Te8bj7BWhVf\/wCv\/wBoI2PDXQeWcf8A8e6shmmjNX7M4T8bepaERFWaQo7UEPT2CuZjP6Fzh4jf7LdX3OjtsXSVdQyIdQJ3d4DmVX59SVt3jdT2a1vljkyx0szflxjflsPXyU4xd7metVgk4N5vhxJPTNS1+mKSWR7WtYwtcScABpI39Fx1+r4RL8JaYXV1S7ZpaDwA\/f8AndQumrELxSyNq62foKeXhFOx3y5553\/crnQWyjtsXR0lOyIdZA3d4nmVOSjGTvmUUXWqU42yVtdWQUWmq66SNqNQVrpADltNEcNb9vT1VhpKOmoYRDSwMhYOpoxnx7VvRVuTZqp0YU81rz4hERRLQiIgCIiAKq6qYbfeLbeWAkMeIpMDORz9SC5Wpap6aCqj6OogjmZnPDI0OGfAqUZYXcqrU95Cy1NqgNTWd9VE25UOWV9L8zXN5uA3x49nop4AAYAwAhIAyTgBci2ndHalNVIuLI6xXeO821lQMCVvyys7HfuKi9Xh1NNbbm3dtNP847RseXgCoi7XGktF++NstSJJJD\/SIW7xnt37\/ZdbXXrWFKQHU9Hb3Ow7HzOdg5+uOxXKFni4GCVfeQdHWS5eHHqWKuvttt0LZKiqYOMBzGt+ZzgeRACr1y1Tcp6Z0lvpTSU2M\/Ez4Bd\/dHInuGStD9D11NVcdFUU0jMbOnbyONzjBHgpOm0iJp2VN4rJK2Ro2Zn5Bvy8O7ZEqcc9TspbVUvG2H759CI05p6a7zi53QvfFnLRIcmXxz1K9taGtDWgAAYAHUjWhrQ1oAAGAB1L1Vzm5M10KEaMbLXiwiIoF5VWuNq145pw2G4x5G+3F2+OQR\/3K1Kta0p3CiprlES2SjmDuIAHAJG\/qArBTTtqaWKoYMNlYHjwIyrJZpMy0ezOdPzXn9TaiIqzUEREARFH198tltyKmrja8HBY08TvQbrqTehGUoxV5OxIKr6wzSz2u5gZFNPh3hsfsVidS3S7ccdjtji0HHxEpAA8uWfM+C47xp+5vtM9dcrm+omjaHiFg+QYO\/dyJ5AK2EcMszDXrbym1TTfjwyJm4autlG4xRPNXNnAZCMjPjy9Mria\/VV6Ac0R2unceeDxkee\/0Ujpmit8dpp6qlpmRySxgvfuXE8jud+eVMqLajkkWxhUqpSnLJ8F11K9RaNt8DulrHPrpycl8hIBPhn65U+xjI2BkbQxrRgNaMALJFFyb1L6dKFNWirFX00fh9RXukOxMvSNHdk\/+wVoVWkIof8AaGxxPy1sGM9hxjH\/AID1VpUp6plWzZRceTfUIiKs0hERAEREARFz1ldS2+Az1czYox1u6\/AcyhxtJXZ0LRV1lNQwmaqnZCwdbjjPh2qvS6juF1JhsFC8jrqZm4aPDq9fRZwaQE9QKq81sldL+xu1o7vDwwrMCXeZmddzypK\/jw+vkeSaufVv6Ky22esdnBe5pDW9n8nC1ssF5vDi+93B8MTv+Ggdt59X1VmgghpohFBEyKNvJrBgBQN\/pNQvrBUWmpIiEYHRB4GXZ32IxyPb1FdjJXtHIrqU5YcVS8vBfeZJ2+y2+2NIpaZjXO\/E8jLj5\/ZV+oZLpC7iphBdaqp2JGDfoz3fbtGy2RQazhiZJ8RTykjLoX8OQe84+hWNZebk6klpbvp6R8T24e6EnhHsevlupJO+tyuc4YVaLi1pl09y1xyMljbJG4OY8BzXA7EHkVkqHpzVNPbI5aOqdKaVpzA4ty4b7g7\/AM7qxx6tscvKuDT2OY4fZQlTknoaKW10pxTbSZMoo4ags7hkXKn83gIdQWcDP5Sp9v8A8gUcL5F29p\/yXqSKKIfqqxszm4MOP2WuP0C0u1lY25xVPdjsidv6hMEuRF7RSX7l6khd6T460VVMGlzpIjwgftcx74Ufo6q+J07C05LoHOjOT2bj2IXNLrq2NPDBDUzO6gGAfdQlkulyoq2spLfbXPfM\/pRDKSDE3v5dRG\/grFCWFpmSe0U1WjKLvqnb2PoK8c4NGXEAdpVX4NZ1pw59NQjO+MH\/ANl6NHzVRBul4qakfsNOAPUn6KOFLVmjfzl3IPzyJGs1RZ6PIfWMkcP1Yvn9xso52raqt+W0WmefJwJJAeHn3fchStHp200JDoaKPjHJzxxkeGeSkgABgDACXgtEcwV5d6SXw6voVb8j6ju4zcriKSMg5hh5+BxsfUqRoNKWigwRTCd4GOOb5vPHL2Uyi45t5Eo7NTTu83zeZ4AAMAYAWqrh+Jo54P8AmxuZ6jC3IoF7V1YruiJzJYOiIwYJXMwf8X3ViVW0qfhL1eLecjhl42NwcYyd\/QtVpU6neZn2V\/kpPhl6BERQNJWdZxvghorpEPno5wfI4O\/mB6qxQzMqII54zlkjQ5p7QRkLGrpIa6kkpZ28Ucgw4A4XtNTx0lNHTwt4Y4mhrRnOAFJu8UimNNxqylwdvU2oiKJcEREAREQEPfb6LSIoIITUVk5xFEPqVw0mm5rlK24agldLMd204OGMHZ\/Ae6UjAdcVT63gbI2P+i5IBLeW3btn3VmVjeFWRjjDfScp6J5L4czFjGRsDI2hjWjAa0YAWSIqzYEREAREQEDq21CuthqogPiaQdIw4G7RuR9\/Je2qls98tcNW63UvG4Yk4YwCHDny\/nCkrjcaS2UpmrJAxmDhvMv7gOtQ+iIZY7NJJIwsZNMXxtP7OBuPPPorU3gMcox\/EW1us\/LRnadLWRxybfH5OcPug0tZAdrfH5ucfupZFDFLmX7il\/FehHMsFojxi20xx+1GD9Vvba7czHBQUzccsQtGPZdSLmJ8ySpwWiRhHFHEMRxtYOxowqzccUGuqCp3DKtnRu35u3A\/0q0qs63ic2hpa9g+elnBBxyB\/iAp0+9bmU7UrU8S4WfoWZFhFI2aJkrDlr2hzT3FZqs0hERAEREAREQFXqv936+ppskMrouBxxzOMY9Q1WhVfWn9H\/JtwGzoKjGR378\/+1WhWSzSZmo5VJx8b+oRFi97I2F8jgxrRkuccAKs0mSKBr9YWujJZFIauXqbDuCf73L0yuM1GqbzkU8DLZA4bOkPzY8cZ9gpqD1eRnltME7RzfgWKruFHQM46upjhGMjjdgnwHMqBl1iKmb4ezUEtZKR+IjhaO\/w8cLZSaOo2yCe4TzV85HzGVx4T9\/UqegghpohFBEyKNvJrBgBd7C8SNq89eyvV9DRbXVz6GN1xZHHUnPE2PkOzrK60RVs0pWVgiIh0jrlZKO5kPkaY5hjEzNnDB5e59VDNi1VZnFsb47pTgDh4vxAcvHPmVakU1NrIonQjJ4k7PwKv+d9RFllVY6tkg6gDv37he\/np\/8Ap6z0\/grOi7ijyI7qt\/s9kVgazJOBZ6wk938E\/Ou4OwYtN1jx1n5uf+FWdFzFHkN1W\/2eyKx+ct5kGItNVDXdry7H+ULwzaxrRwNpqahaf1yQT9T9FaEXca4Ibib7037L+iuUOkIBKKm6zvr6g8+MnhH3P87KxAADAGAF6ii5OWpbTpQpq0UERFEsCIiAKO1BS\/GWGsi4cnoi5o7xuPopFeEAjBGQV1OzuRnFSi4viROlqoVenaU53jb0Z7uHYe2FLqsaOJpnXK2OO9NUEjwO3+ntVnUpq0mVbNJypRv92CIigXhERAEUXXajtNvyJqxjnj+zj+d2ezbl54UV+c9zuZLbLaXOaCP00529Nh7lTUJMoltFOLte75LMk9TUD7jYp4YhmRuHsGcZI6vTK54tR0NuttOyvqB8UyMNkiYeNwcB14z7lco05d7mc3m7v6M84afYHs7vYqUodOWm34MNGxzx\/aSfO7Pbvy8sKXZSs3cptVlPHFWytn0XUiXaivN02s1qe2Nw2mmGB5Z2+qybpSsuLxLe7pLMSP6qLZoP09ArQi5jt3VYn+HUv1G5ey9DiobRQW0D4SljjdjHHjLj5812oig23qaYxUVZIIiLh0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiwlljgidLK8MYwZLj1INCszZtWu45nHENwjDM\/8AVyx6geqtKo2pb9SXeGOK2xzyzU8gkbM2PAaMb9\/Z1dS6qW46pvdM2WjZTU0LsgSkjcjIPafZXSg2k3kedT2iEJyjHO+at7luJAGScAKKrNT2eiB46xkjh+rF859tlGjSE9Y8SXe7T1B\/YYcAeGeryClaLTtpoHcUFFGX5yHSfOR4Z5eSjaC1dzRiry0il8c\/ZdSKOpbrcjizWh5YeU1RsMew9ysRp6+XQA3a7GNhwTDCPbbA891akTHbuo5+HxfqSb9l7ERQ6WtFAAW0omeP15vmJ8uXspYAAYAwAvUUG29S+EIwVoqwREXCYREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAXjmhzS1wBBGCD1oiAwjhiiZwRxMY3GOFrQAuOz2eGzU0kEEsj2PkLwHn8Pd7Ii7d6EcEbp20JBERcJBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MIGUEL ROJAS",
    "correoContacto": "mrojo@docere.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "ADMINISTRATIVO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "12",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56987439190",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:22",
    "ubicacionGPS": "LatLng(lat: -23.5909879, lng: -70.3958378)",
    "horaLlegada": "15:19",
    "horaDespacho": "11:53",
    "idMovimientoMaquina": "1",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 15:21:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152162

[15/06/2026 15:21:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('65152162', 'KY2755', 2, 24456550, 0, NOW(), 
				'11:53', '15:19', '15:22', 1, '•Se instala impresora', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781551316.png', '•Reporte pendiente, máquina no estaba registrada en el sistema
', null, 'COMPLETADO','LatLng(lat: -23.5909879, lng: -70.3958378)' )
				
[15/06/2026 15:21:56] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200722

15/06/2026 15:21:56 nextCorrelativoClienteMaquina sql: 
				SELECT IFNULL(MAX(correlativo)+1, 1) AS correlativo
				  FROM clientemaquina
				 WHERE rutcliente = '65152162'
				   AND serieintmaquina = 'KY2755'
		
15/06/2026 15:21:56 setEstadoHistorial sql: 
				UPDATE clientemaquina
				   SET estado = 0
				 WHERE serieintmaquina = 'KY2755'
				   AND estado = 1
				
15/06/2026 15:21:56 agregarMaquina sql: 
				INSERT INTO 
					clientemaquina (rutcliente, serieintmaquina, correlativo, estado, fecha, ubicacion, ciudad, departamento)
				VALUES 
					('65152162', 'KY2755', 1, 1, now(), 'Piso 3', 'ANTOFAGASTA', 'Informática');
				
15/06/2026 15:21:56 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200722'                    
				WHERE idllamado = 13046			
				
15/06/2026 15:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                
TO ENVIO: micorreo@miempresa.cl, mrojo@docere.cl, khapo73@gmail.com


15/06/2026 15:21:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13046			
				
15/06/2026 15:21:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 15:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:21:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[15/06/2026 15:21:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:21:59 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:21:59 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:21:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:21:59 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:21:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:21:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 - INPUT: {"rutTecnico":"24456550"}
15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

[15/06/2026 15:22:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:22:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:22:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:22:00 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13046
LIMIT 1;
        

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                

15/06/2026 15:22:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13046
                
[15/06/2026 15:22:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:22:15 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:22:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:22:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:22:17 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:22:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:22:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:22:19 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:22:19] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/06/2026 15:22:19] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:22:19 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:22:19 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:22:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:22:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:22:51 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:22:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:22:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)
[15/06/2026 15:22:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:22:51 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:22:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:22:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 15:23:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:23:04 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:23:04] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:23:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:23:05 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:23:05] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:23:05 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:23:20 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:23:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:23:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:23:20 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:23:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:23:20 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)
[15/06/2026 15:23:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:24:06 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:24:06] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:24:06 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)
[15/06/2026 15:24:06] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:24:06 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:24:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:24:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 15:25:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:25:15 - INPUT: {"rutTecnico":"24456550"}[15/06/2026 15:25:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:25:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD DE INVERSIONES GRENETT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 77513443
            [ModeloMaquina] => L6490
            [FechaLlamado] => 11/06/2026
        )

)

15/06/2026 15:25:16 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:25:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:25:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13047
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE BANDEJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:25:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:25:18 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:25:18] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:25:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13047
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE BANDEJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:25:21 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:25:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:25:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13047
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE BANDEJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:26:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:26:59 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:26:59] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:26:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13047
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE BANDEJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:27:03 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:27:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:27:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13047
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INSTALACIÓN DE BANDEJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65152162
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2755
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:27:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                
=========================================
FECHA: 15/06/2026 15:29:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-5hKBn_BlV3P1uc7G8-wL0OpSgfXfemqZzdAqekzy8sVAtbgZ5FC
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65152162",
    "serieinterna": "KY2755",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "37767",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se instala bandeja adicional",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13047",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADvAUIDASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMCAQf\/xABGEAABAwMCAgcFAwkHBAIDAAABAAIDBAURBiESMRNBUWFxgZEUIjKhsSPB0RUzQkNSosLh8AckU2KCkrIWNnLiF9IlNXP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAA0EQACAQIDBQcDAwQDAAAAAAAAAQIDERIhMQQyQVFhEyJxkbHR4YGhwRQjMzRCYvBDUoL\/2gAMAwEAAhEDEQA\/AP7MiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi8qmoipKWWpmdwxxNLnHuCEN2V2Y2or7NQuioLc0SV9QcNAwejHbjt7Mr0ul4qbLb6KaphjkfJI1k5YSA3bJx6FcWlYH19TU3+pj4ZahxZEM5AaMA49MeRXVrKDptOTO64nNeN+\/H3rayUlE4cVR0pVk\/DwXubqLktc3tNqpJicl8LCTjG+BldaxeR3Rd0mERY111PQWt5gyaipzgQxbnPYT1fVSk3kis5xgrydjZWLdNU262Exh\/tE\/Loot8HvPIfVZ\/seor+0GsmFtpHDeKPPGR3\/AMz5LYttgttqaPZ6cGQfrZPef69XlhXtGOphjq1NxWXN\/he5+2Wtra+iM9bR+yuLzwMOclvUTlaKIqPNnRFNJJu4REUFgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxq\/VNtt9wbRSvcX\/puaMtj8f5LVmlEEEkzuUbS4+Qyo+yWVl407XVEoBqayVzmvPURuPmTlaQS1kc1epUTUaeub8vctEWJpO5G4WVjJHZnpvspM89uR9PmCttUas7G1OaqQUlxCIiguEREAU7rSrdDaWUkR+1q5AwDI3b1\/PA81RKYux9q1taqXmImmU5GQDuf4R8lenvXObaW+zwrjZeZQ0dMyjo4aaP4YmBg2xnA5rlv0XTWGuZjP2DnAd4GfuWgua4TU0FFK6rlZFCWlrnO5b\/VVTzuazisDXCxwaUm6bTdIcklrS057iQuq53ihtMYfVzBpIy1g3c7wCirHdrqaFtptojY8yEieR4GAeoA\/wAzvyVJbNKU1NJ7VXvNdWOPE58m7Qe4dfifktZRSk3I46Nac6cY01wzb0+Th9pv+pcGjb+TaF36wn3njuPP0wO9bFq07brS1roYQ+YDeZ+7vLs8lqoqOb0WSOiFBJ4pO75v8cgiIqHQEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAZ2oJeh0\/XO23hc3fvGPvXlpaLodN0Td92F2\/e4n7156vdw6Yq98E8A\/fau2zN4bHQDGP7tHkf6Qr\/wBn1ObXaf8Az+fgwoT+RdbyQANbT3JocBnk7f78\/wC5VSm9Z08gooLlBkTUUocHDqBI+8Bb1JUsrKSKpjzwSsDxnvCmWaUiKPcnKn9V4P5PZERZnUEREAUtHKz\/AOQKl0jgGQU2S47BuzeZ8\/muu6asoqGT2elaa2pOwZEcgHsJH0CnKS3z3\/VNQy6h9JI6ISPjZsSBwgN37sHyW0ItJtnn7RWUpRjDN3\/3M3a7VjXzex2WA11S7IDh8De\/v+Q718UumKmvmFXqGpNQ8fDA04a30+g9St2gt1JbYOho4WxN5nHNx7z1rqVcdt02VBzd6rv04fP1IKz21sWvJoWs4WU75JGtbyDf0f8AkFeqFsVw9p11Uy52qDIxpJ\/RHIc+xo9FdKat7q5nsOHBLDzYREWR3BERAeBraVtY2jM8YqHAkR8Q4sDu\/rkV7qGqqzi\/tFic0Y4JGxZ6+WD9SFcq8o4bHPRrdo5dHYIiKh0BERAEREAREQBERAEREAREQBERAEREAXjV1LKOklqZCAyJhccnsC9lNaymfLTUtqhIMtbMBjPUD+JHorRV3YyrVOzpuRm6SuNc69OirJZCysidKxr3EjOeYzy2B+XcrdSeoaeOzVdlrKduGUzxCR1lv444t+9VitUs7SRhsqcFKnJ3a\/JhayJGm58HHvM\/5Bads\/8A1VJ\/\/Bn\/ABCzNZNJ01UEdTmE\/wC4LStRDrRRuG4NOwj\/AGhQ9xeJdf1D8F6s9aqnZV0k1NJ8ErCw+BGFgaLqJBR1FsnyJqKUgg9QOdh5g+qpVKXANsesKav4+GnrwWS9gOwz68J9VMM04kV+5ONTlk\/B\/JVosu6ait1pBbPNxyj9VHu7z7PNZAk1BqQfZgWygfzd+m8fX6DxUKDeb0Lzrxi8Mc3yX+5GndtTUFqJiLunqOXQxHJB7z1fVZbafUOozmqebZRO\/QaPfcPr64Hcti16dt1pAdBDxyj9bJu7y7PJainEo7pTsqlT+R2XJflnBbbLQWpmKSANdjBkdu4+awK2ritWuJaqbiMbqTLuEZPL\/wBVXKG1sBFeoZc8IfSOaT2\/F+IU0+9LMz2pKnSTirWaLKjqmVtHFVRghsrQ4Akbei8L1WewWaqqQcOZGeE\/5jsPmQvDTDuLTlEcY9zHoSFna3lc6301DGRx1U4GCeYH8yFCj37Gs6rWz4+NvUw7XR\/ky4WCpdgOqs56j7xIHyIX9CUrrCAUdBbaqLOaKZrW8sgY\/wDUKpa4OaHDcEZCmo8STM9lh2cpU+VvT4P1ERZHaERfLnBjC48gMoD+Z5d\/1B+U3\/mxcRnPV72fov6cv5yyjkm0TUVpBDxW9LntGA36uPor6hqm1tDBVNxiVgdgdWRyW9XOx5uw5Np8bP1OhERYHpBERAEREAREQBERAEREAREQBERAEREAUuzNz1653OK3xY35cRHZ4uPoqSaVlPBJNIcMjaXOPcBlT2i4nPpay4v+OsnJ8QM\/eStI5Js5q3eqQh1v5fJ7a1g6bTsj8Z6GRr\/nj71rW6o9rt1NUf4sTXHxIXxd4PabRVwgZL4XAeONvms7SVUx2mIHSPa0Q8TXOJwBgnn5EJrAbu0eK9H8nvqlnHputG3wA79zgV66ffx6foTv+ZaN+4YWRqHU9udQT0NK81U0zCzMW7W9+evyWbZrferzaIIW1rKW3sy33Pifuc8ufqFZQeDPIwlXX6jud524eJS3LUlstjjHJN0k4\/UxDidnsPUPNT10bfdS0T5TRMpaSIGRjH\/nHkDq6\/oPFUVr07brSA6CHjlH62Td3l2eS1FVSjHdNZUalVWqOy5L8sldH2y1z25leIelqQ4te6X3uFw7B4EHt3VUpa0l1m1XV2t7g2nqwZ4Bjr7B5ZH+lVKVN65OypKnhtZrJ+IREWZ1BRn9oURLKGYDYF7SfQj6FWanNcQGXT\/SD9TK158Dlv3haU3aaOXbI4qEkdmlf+2qL\/xP\/IrOuB9u11QUvNlJH0hB6nbn7mrR0r\/21Rf+J\/5FZ2nsVmp7xX7kNcImuPWM\/wDqPkraOTMnnTpQ52+yuaGq4PaNN1YAyWAPHdggn5ZXRYZ\/abFRS9sQafEbfcumtg9qoain\/wAWJzPUYWJoefpdPiPO8Mrm48fe+9V1gbPu7Quq9H8m1W1tPb6V9TUyBkbBue3uHepqlbf9RB1cytNvp+I9BGAfeGeZxjOx8yOSV3FqjUIoGEm20RDp3NIw52\/X8vVVbWtYwMY0Na0YAAwAE3F1KZ15PPur7v2Rg2m7Vsd2ks914HTgcUUjBgPbjPZ3Hdb5AIwRkFY1Rbah+q4Lo4xtpoKctLi7fPvbfvZ8lpU1fSVr5GUtRHMYiA\/gOcZ5fQqJWeaNKLavGT45X5H6+jp30slN0LGxSgh7WtABzzU9puqktdwn09WEAxuLqY\/tNO+B9fVVCxdQ2R9yjjqqR\/R11NvE4HGevH4JFrRkVoNWnDVfdcjaRYlhv4uINHWN6C4RbPjcMcXeB9y21Vpp2ZtTqRqRxRCIiguEREAREQBERAEREAREQBERAERZVx1LaraCJakSyA46OEhzvPqHmpSb0KznGCvJ2PPVdT7NpyqIJDpAIxjvO\/yyvu2vpbLp6kFVMyFjYgSXHm47nHbuSpXUF4rr22npRQupaaaUdEZQQZDyz4e91ZW5R6NpRKai5zSV0xP6TiGj7z9O5bOKUUpHBGrKpWcqavla7y6nnPqyWu4oLHbpap\/IyPZhg\/rvwsbT1gddDU0lZWTRx0kuH07DsXcs\/unqV7BBDTRCKCJkUbeTWDACnLR\/d9bXWn+ESsEgB6+R\/iKRlk8Iq0W5wdV3u7cloa8VooqKglp6SmZHxxuaSBlzsjrPMrM0NIX6f4Sc8Ezmju5H71RqX0T9lHcaXGOhqT4dn8KoneLubyio1oW5NehUIiLM6ia1hTOihpbvAzM1FK0k\/wCXPX549St+lqGVdJDUx\/BKwPHgRlKyljraOWll+CVhae7KwdGVMgoqi2TgtmopC0gnqJP3grTWHgcu5X6S9V8FIuc11MK4UXTNNQW8XRjmB2rP1HfI7LQktIdVSDETP4j3BYmirfLVVM16qz0jyS2N7jklx+I+m3mih3XJide1VUoZvj0RZrI1W9rNNVhcMjhaPMuAC11Na4e42qCmZ8c9Q0DPZg\/fhRBXki+0yw0ZPod1oJotKU8m2WU3SbjblxLj0PDwWN07iS+eZzi48zjb7itC8BtJpmrjadmUzoxt\/lwvPSjOj01Rt7WuPq4n71Lfdb5syUbVoR5R9ka6gYrp\/wBPsvlG0lsxmxTjszn3vIYPorx72RsL5HBjWjJc44AX82uVbFVaudVUUAqxxt4GDOJHAAA47MjzwrUle6Znt0sCi089PNFnp23Ns1lb7QQyWT7WdzzjBPUT3D55XHX6wgbL7LaoH19QdhwA8P4ny9Vzs0\/dr28TX2sMUWcimiPL7h8yqOit9JboBDSQMib14G7u8nrUPCnd5svBVZRUYLDFc9fInY7BeL07pb5WuihJz7NEfr1D5lUNBbqS2wdDRwtibzOObj3nrXUio5tm9OhCDus3zeoREVTYxr5pyG7ls8chp6yP4Jmjnjln8epZ1LqOrtEjaPUUJYcYjnZ73EB1nB+Y9FVLyqKaCrhMNTCyWM82vGQrqWVnoc86LxY6bs\/s\/E\/YKiGpibLBI2RjhkOacr0UxNputtkrqjT9Y6LJyaeR2WHl2+e53X4NWVdA9sd7tUtPk46WPdp7cdvkSpwX3Sv6jBlVVuvDz9yoRctFcqK4s4qSpjmGMkNO48RzC6lm1Y6U1JXQREQkIiIAiIgCLxq5ZYaWSWCEzSNblsYOOJTbn6uuuQyOG2xOHMn3sfM58grKNzGpVwZWbfRFJU1dPRx9JUzxwszjL3ALAqdYRyvdBaKOeumHIhh4fHt+i\/abRlKZTPcqmWumdgkvJA+uT6rfp6WnpY+jp4Y4m9jGgK3cXUz\/AH5\/4rzfsTf5J1DeXB9zrhRQOG8FOSDjsP8AMlalu01araAYqYSyA56SYBzvLqHktVFDm3kXjs8IvE83zeZMXr+8ays9Nz6MGXB5Dmc\/ufJU6l6fNT\/aFUO5tp6fAPkP\/sVUKZ8EV2fNzl19MgpefFL\/AGh07twKmnwT34P\/ANQqhTGpf7vqGyVQ2zL0bj3ZH4lKethtOUFLk16lOpfTv2GqL3ATu+TpMeZP8SqFBXVtW\/WNVS2yYCSsY2OQtd8IwOLPZ8KU1e6KbVLA4Ttez9UzRu+s\/Z7gynt0bKhjXASP3wT+yMfVVYzjfmoustdNS3uz2WlAIa7ppieb+8+TTjsyrVJqKSsTs0qkpTxsKRuszbBrCK4v4hTVcREuOsgYO3k0quULru4xT1ENBFwOMGXyO2yCduH8fLsU0leViNtko0sXFNWMqqfW6nvsZDT9ucRDH5uPiPPHZvlf0mlpo6OljpoQRHE0Nbk5OFO6LtccdGbrIGOlqchga0ARtBIOPFVCmrK7wrgU2Kk4xdSWsgpe9Yr9YWqiA4hTgzOGOW+f4Qqdzg1pc4gADJJ6lA2+\/wBJDeK67TsdNPM7o6eJgySOrny2AHb3KKaebRfa5xSjGT1f2WZYXuF1RZK2JjeJzoXcI7TjKnLXqqnorFR0kMMtXW8JaIWN5bnHy7Mr3NFftRkGvebdQn9Sw4e8d4\/H0W5bbLQWpmKSANdjBkdu4+anuxVnmVtUq1McO6rWu\/wvcxG2O731wlvdWYKcnLaSHbHj1euSuXUlqpbRLa5qFvsrGzcD5GfFvjfPM7Aq0WBrSn6bTkj+uF7X8u\/h\/iSM25JEV9njGlJrN63euWZvoua3VHtdtpqg85YmuPiRuulYncndXQREQkIiIAiIgC+JYo5o3RyxtkY4Yc1wyD5L7XPWV9Jb4w+rqI4WnOOM4zjsHWi6ESaSu9DIrdH22pkM0JlpZic8cbuvwKz5au96ZqIW1tXHW0Ur+APkOHj13+oXtJqqsuM5p7DQGfBwZpRho+mPM+S6Ldp2ofXC5Xqq9qqW\/AxvwM7P6HzW+aXfPOahOV6Cs+ayXyUAORntRfqLA9IIiIAiIgCIiAIiIAiIgJezZfrW7vPU0Nx6fgqhTGnff1PfJOfDIG57Nzt8lTrSpqc2y7jfV+oU3riN35HhqGfFBO12ewYI+uFSKY1ZcOkD7MyEyPkgMxd+zw5cP+J9Qop7yG1NdjJPj6nXqG+Cgs7H05zUVbeGAA77j4h4ZHqFgMtT9PXiyzTPLpp3uEzuLIDicc\/By99K0dRdqqO6Vp4oaRghp2k\/pNAGf66z3Lv1vG8WynrI\/jppw7PYD\/PC1VovAcc71YOu+FrfTV\/U+LaTXa4uFTkmOlZ0TewO2B+jv6CqFN6IhcLPJUybvqZ3OLsYyBt9cqkWVTetyOzZV+3ifHPzOO617LZbZ6t2CY2nhaTjid1BStp0n+UqWC5V0rhJPIZZGkfGw7jzJ38HLQ1W51XW2y0tdhtTLmUf5QR\/P0VDNNBR05kleyGJg5k4ACsm4xy1ZnKEa1V49I+upPaQkfSyV1mlzxUspczi62nu+f8AqWzcrtRWmHpauYNz8LBu53gFFXC8mbU\/tlkdwuna2DpZG7Ocds78tuHn2KhtmlIYZjV3OU19U7fMm7Wnz5+forTir4pGdCrNxdOkr248LcPEwr7f7rX0RkihdSUEx6NoPxzZG\/l4bdWVT2TT1FaqeJ\/QNNVwDjkd7xDsb47PJZt7AuGrLXbRkxwDpntHIde\/+3596qVE5Wiksi1CnerKUne2XuERFid4XFeYPabLWQ8PEXQu4RjO+Mj5rtX4QCMEZBUp2dysliTRi6Pn6fTdOM5MZcw+ROPkQttTGiMxUtdRuJJgqSMdm2P4VTq1RWkzHZnejHwCIiodARcFdfLZbsiqrI2vHNgPE70G6xTqm4XJ3BZLW+QE46aYe6PTYequoSZhPaKcHZvPks2VBIAyTgBYdw1dbKNxiieaubOAyEZGfHl6ZXENL3K5PD73dXPZxZ6GH4fuA9Ft26y2+1NxSU7WuPN53cfNTaK1zKYq891YV1zfkYpqdUXlpEFMy2QOGQ959\/H1+QXRQ6OoIT0tc59dUE5L5CcZ8M7+eVQooxvRZErZo3vPvPr7aHxFDFBGI4Y2RsHJrGgAeQX2iKh0hERAEREBL6qutzs9dSVNO8GlIIczGzndYJ8OXmtWyX2lvdOXxfZys\/OROOS38R3r51NRCusFVH+kxvSN5c27\/ipujhnutBHebW4x3Sl9ydufz+BzPaSPVbJKUDz5zqUq7s7p529bexcosux3yK8QOBb0NVFtNCebT\/XotRZNNOzO6E4zjijoERFBYLCrdSNoLzNSTsYIIoOkMmTknb3fmPVbjnBrS5xAAGST1KCgig1VrCSYAtpo2iQhwzxtbgY7srSnFO7ehybTUlHDGGrZw0dyro6muvNI4RtbM2SaHmCHF3b2E4\/1L+kQTMqYI54zlkjQ5p7ioyOnaa\/U1JgDMRe0YxjGSNvMLf0pMZtN0hdzaC3n2E4+WFerZq5z7HijLC3rfzTNhfz\/AFZJONTOipwTLNC2EAc8O2wPHcea\/oCkZI4qr+0ZrXb9BGHY\/wAwbkfUFVpOzbNttjihGK4tHRoeRzbbU0cnx005BHYD\/MFeutqroLA6EYJqHtbv2A5z8h6rwtn9w1vcaXOGVbOmbnbJ5\/e70TVA9qvlloiOJjpeJ7SdiMt+4FW\/5L\/Uyu1srhxXd+9vQ0NKTtn05SFuMsaWEDqIJC1nvZGwvkcGNaMlzjgBQlkvoscNVbWQSVc4qHCFse4d1Hl4dWV3vs1yuzfbNRVwpaZg4ugjOA0d\/UPPJUSh3m3oXpbR+2oxV2lnyXizgvN4bU6qpp7ZwVT4Y+BgPwl\/vb57s\/JfVVTRA+16muoqJW7tooHgnw25eWPFd9DT2W+mW301veykpcEVDTw9I7lv2+J38Fp0GlbTb3l7Kfpn5yHTe9jwHJWclHIwjRqVG5XTTfW3lxMa5xtuekW1cNvND7JLxxx4ySzkSOW2+f8ASqi2Vft1sp6rIJljDjjt6\/mvWqp2VVLLTyfDKwsO3aMLA0TO78lzUUm0lJM5pHYDv9eJZt4o+B1Rj2dZJ8V918Gw210zbq+54cah0fR5JyAO4dS7ERUvc61FLQIiKCQiLLuGo7Vbdpqpr3\/sRe875cvNSk3oVlOMFeTsZdkPs+srxSjlIBL2dYP8aoqiqp6SPpKmeOFn7Ujg0fNQTrjX3HVDai2xmjlq4+jjdMObcfFy7urK3qbR8cr2z3esnrphzBeeHw7fotpxWTkzgoVZNONON83noj6qtZ0IcYrfDNXTY2EbCG\/j8l4eyanvfC6pqG2ynJ\/NxEh+O\/8AmR4KjpaKloYhFSwMiYOpo\/rK91TEluo37Gc\/5JfRZL3MSh0laaIh7oTUyZzxzni38OS2Wtaxoaxoa0cgBgBfSKjk3qbwpwgrRVgiIoLhERAEREAREQBERAfhAIwRkFRunj+SdXVtsOY4pSejaTzwct\/dJVmovWkb6C7UN2haCQcHnjiacjPjn5LWnnePM49r7qjVX9r+3E1L5ZJvaBdrR9lXR7vaOUw7PH6rrsN9ivNOct6Kpi2miPUe0d30WjDMyogjnjOWSNDmntBGQsK92SYVAu9oPR10e7mDlKPx+qhNNWZMoum+0p5p6r8rr6lCiyLLqGlu7BHnoato+0gdsQevHb9y0qmojpaaSomdwxxtLnHuCo007M6I1IzjiTyMDVVdLKIrLQuaaqrOHjPJnYezP0BXJpKjjpb9dIofeZTgRcR5k539SCvbSdPLXVVVf6pv2lQ4tiB6m9ePQDyK+tJgm5Xtzh75qfe9XLZ5RcUefFOpVhVfFu3gk\/XU5ZfsdV3tnMS0LnD\/AGt\/mtTRn\/bUH\/k\/\/kVk6gkFFql0riGsnoJA455nhdgeoC2NHxuZpqm4hjiL3Dw4ik9zyJof1DXLF6o21GW9xd\/aLVE9jh6ALZumqbdbCYw\/2ifl0UW+D3nkPqpqmsl2vV4mq5I5LdHUAuc8g8tvdHLmohGybeRbaailOMYZtO516ludLRajoa+mkjnlgBbLGx3V4jrwSs68GsulfR1V4i9gppT0bDw+81vMkg79fX6LYvWlqCh05O6kizPEA8yvOXEDn4bZ5LaoDBfLDTPqWCZssY48\/tDY7+OVbEkk14GLo1Kk5Qm7Xztw+pI0lwtunNR1JpuKqpXRBsZjcHHi26\/HPqtRlvu+p5WzXMuo6AEFtMMgv\/rtPkF53+30tgrrdc6OmEcTJsTBoz9e7KsAQRkHIKiUsk0Xo0W5SpzeSei0zPKmpYKOnbBTRNiiZya1eyIsD0kklZBS9Li166qIMYiuEfSN2\/S5nfxDvUKoUvrFnss1turB71POGuPaOY+h9VpTzduZz7TlFT\/6u\/uVCLMuGobXbPdqKppkxkRs953y5eax23m\/XwuFpo2UtOdhUTc\/Lq9AVCg3mWntEIvCs3yWZSVdZTUMJmqp2QsHW44z4dqwJdYipm9ns1BLWSkfERwtHf4eOF9UWjqfpPabtO+uqHbnicQ0fef62VBBBDTRCKCJkUbeTWDACnuLqU\/fqf4rzfsTQs+obth10uPskR5wQHfHYcbepK0rfpi1W0h0dP0kg5STHiP4DyC10UObeReOz04u7zfN5kxqr+7XWz13IRz8Lz3ZB+mVTqd1xB0unzJjeGVrs+Pu\/etuhqBV0NPUj9bG1\/qMqXnFMrTyrzXOz\/B7oiLM6QiIgCIiAIiIAiIgCIiAIiIAsbVVAK+wVADQZIR0rD2Y5\/LK2V8vY2SN0b2hzXAhwPWFKdncpUgpwcXxMHRdcKuxNhc7MlM4sOTvjmPrjyVAoTR0zrfqCqtkm3HxNGc\/Ewn7sq7V6qtI59jnjoq+qy8jBvunRWH263EU9wjPE17dukPYe\/v9Vh1t3rtQwU9kbTviqjJiqPDsAMbkdQzufAdqulM6nt8dMRe6SoZSVkO+ScCbu7z9eStCWdn9DPaaNk5QyT1XNe5Q01PFSUsVNC3hjiaGtHcFOWFzaXVN7ge4N4ndLudsZJz+8vKHWs1ayOCgtck9W5vvDOGg9vh448VnV+mdQ3KV1dUMg6eXZ0bXAEAYx3H1PJTGNrqWVylSspYZUU3b2PnWtdR1tXSmjnbM9rHNeWbjGdt+vrWhSWi\/3GihpaiYW2hjYG9Gz43jv8e\/0WfcNIm1WGWtkm6SpYWHDBgMGcHx3PPuVxb6n2y3U9T1yxNefEhTKSUVhM6NKVStJ1cm0nZHJbNPW21YdTwcUo\/Wye87+XktNEWDbep6kYRgrRVjznhZUU8kDxlkjCxw7iMKe0VM9tFVW6UYko5y09wOdvUFUqlxm066OciC5R9ew4\/xyP3leOaaMK3dqQn9PP5NXUVD+ULFUwhvE9rONm2TxDfb6ea89L13t1gp3k5fEOidtjdvL5YWuoq3XKl0xebnQ1Di2nLuOIMy456m+OD19iRWKLRWrJUqsZvR5P1RarznnhpojLPKyKNvNzzgBTP5cvt6b\/8Ah7f7PETj2iYg7dozt6ZXpDo8VE\/tN5rpK6Qj4AS1o7s88eGEwJbzJ7eU\/wCKN+ryR9VWsqXpWwWynlr5ncgwFo+mT6LMvFHqK42uoqbk6KCCEdI2maAScd\/hnr8lYUlHTUMIhpYGQsHU0Yz49q\/K+L2i3VMP+JC9vqCFKmk8kVnQnUi+0l9FkvkxNM2W1fkylr2UofO9mS+Q8WHdeByG6o1gaKm6TTkbP8KR7fnn71vqs74nc02ZR7KLirZBERUOgIiIDPvsAqLFWxkZ+xc4eIGR8wufSkxm03SEnJaHMPk4gfLC1nsEkbmO5OBBU3oZ5Fpnp3fFDUOGOzYfflaLODOaWW0RfNNehTIiLM6QiIgCIiAIiIAiIgCIiAIiIAiyLxqOhs56J5MtQRkQs5+fYswVmrLo1pp6SGgifyfJ8WO\/OT8ldQbVznntEIvCs30M6\/N\/JetqesZgNkdHI7q5nhd9D6qjrdVWiiac1ImcP0YcOP4LJl0TUVrA+uvEks+2CWFzW9o3P4LeobFbbeB0FHEH9chbl3fueXgFeTg0r5nNShXUpWVk3fPP0MV16v15aWWi3ezRE49olcOXdnb0yvWj0bTl5qLtPJXVDueXENH3n+tlSoq43pHI6Fs6bvUeJ9dPImr1ZPYi272dggqKYAuijGGyMHMYHd6rVst2ivFvZUxkB+MSMB+B3YtBSV2pZdNXUXuhZmkkPDUwt5DPX6+h8UXfVnqVmuwl2kd3ivz7lHcqb2y2VNNjJlic0eONvmsrRdSJ9OxMz70L3MPrkfVbdPPFVU8c8Lg+ORoc0jrCmrC78maouVqJwyU9NEM7duAPA\/uos4tE1Go1YT4PL8oqUXjU1dPRxdLUzxws7XuAyp6p1e6pm9msdG+slP6bmkNHlz9cKqi3oa1K0Ke88\/uUznBrS5xAAGST1KK1heKCV9KaOcSVlLLxh7BkN7s+IHauz\/py63iUSXyv4YuYp4DsO7sHzWxHYLbBRS0sFKyMSxuY54GX4P8AmO6vHDB3vc56iq14uKVl118uBhxU2oNS0zZqirjoaOUAtZEDlzfXr7z5Llu9jpdNy2+4QB0kTJg2cSYcXA93LkD8lpaMqntp6i1VBIno5Dhrv2c\/jn1C2bvQC5WqopNuKRnuk9ThuPmrOTjK3AyjRjVo41nLrzR1se2SNsjHBzXAFpHWF9LL042qZYqaKtidHLECzDueAcD5YWosWrOx6EJYoqXMIiKCxL6NIgkulBn8xUnA9R\/CqhTFi+y1feYv2iH\/ADz\/ABKnV6m8c2y\/xW5Nr7hERUOkIiIApjTX931De6U7Zl6Ro7sn8QqSWaOCJ0sz2xxsGXOccABQjrvK7V9RUWRgqXVTBG0EENzgZONv2VrBNpo49pnGEoSfP1Rb1dZTUMJmqp2QsHW44z4dqnpdQ3C8vdTafpjwjZ9VKMBvh\/P0X1S6VlrZhV3+qdVS5yIWuPA0dn8hjzVFDDFTwthhjbHG0Ya1owAo7serLWq1de6vv8HhbKeppbfFDWVJqJ2g8Uh6911oizbudMVhVkEREJCIiAIiIAiIgCIiAn7zaquO4flq2gS1TGgdC8Ahw5bcuo555271+W7V9JPIae4RuoKluzmy7Nz4nl5qhXFcLTQ3SPhrKdshAwH8nN8CrqSatI5pUpxblSevB6HY1wc0OaQQRkEda\/VMO0tXUDy+y3aSAEj7KXdoGc\/1svzpdZUpyYKSrHWAQPvCnAnox28o78H9MyoRTH\/UF\/ZgP07IT2tccfRfL9TXqNhfJp6RjWjJc5xAHyTs5D9VT6+T9ipXnPBFUwPgmYHxyDhc09YUdHr6pleGR2sPe7k1shJPyX3PBqy+Fsc0YoqZxHEGuDdu\/cuPgp7NrXIz\/V05ruJy+h82m9wabdXWytkfJHTynoA0ZcRnfuHUefWVn3q519TcILxBRy0LGDooppG\/FnO+47Ce1VNo0tbrYxj3RNqKlvOV4zv3DkPquq+203a0TUjeESHDoy7kHA\/0PNWxxxXMXs9Z0cLdraJfbMy6XR8UzmVF2rZq+bngvPB4dv0VDBBDTRCKCJkUbeTWDAC8bZDPTWyngqS0yxxhri3lsupZSk3qdtKlCCvFWf3CIiqbEreiLHqaku7RiCpBiqMeW\/pg\/wClVIIIyDkFcF8twutpnpcAvLeKPPU8cvw81yaVuft9qbDLkVNJiKVruYxsCfT1BWjzjfkcsP26zjwlmvHj7m2iIszqCIiAm6SJ8Gvax3A\/o56fOeHbkzr8QfVUi\/OEcRdgZIwSv1Wk7mdOngTXNt+YRfL3sjYXyODGtGS5xwAp2v1hA2X2W1QPr6g7DgB4fxPl6oouWgqVYU1eTKJ72RsL5HBjWjJc44AU\/W6uhM3stop319SeXADwD8fp3rlZp+7Xt4mvtYYos5FNEeX3D5lUVBbaO2Q9FRwNiaeZHN3ietWtGOuZjirVd1YV118uBgxabrrtI2p1BVvdvltLEcNb6benqvKtpKe1avs5poWQxOYYwGDmdxv\/ALhuq1TGrfsrjZakbdHU4J82n7laMnJ2Mq1GFOniWqaz46lOiIsTvCIiAIiIAiIgCIiAIiIAi\/A4EkAgkcx2L8fIyMZe9rR\/mOEB9Is6ov8AaKYEy3CDbmGO4j6DKypta0z39FbqKorJDsAG4B+p+SsoSfAxltFKGsimXHXXagtrSauqjjIGeDOXHwHNYJj1ZePjfHbIHY2Bw\/Hlvn0XXRaPt1O8y1RfWzOOS6Y7en45VsMVqzPtak\/44\/V5fbU5TqW5XYPjsdseRy9olIAHly+fkv1uk6q4SNnvlykqHAfmo9mt8\/wAVMxjI2BkbQxrRgNaMAL6THbdVh+nxZ1Xi9PI5aG20Vtj6Ojp2Qg8yNyfEncrqRFm3c6UlFWQREQkIiIAiIgCzKezey3youMVSWsqB78HDtntznu7OsrTRSm0VlBSs3wCIigsEXnPPDTRGWeVkUbebnnACnKvVzqiY0tjpH1k3+IWnhHfj8cK0YuWhlUrQp7zKSWWOGN0ksjY2NGXOccAean6nVrJZzS2akkr5\/2gCGD+vId68INLVlylFTf618p5iCM7N8+Q8vVUdJR01DCIaWBkLB1NGM+Pard2PUyvWqad1ff4J1mnbneHia\/VpazORSwnYeJ5fXxW\/Q22itsfR0dOyEHmRuT4k7ldSKrk2aU6EIO6zfN6hERVNgpjXIxbqN52aKkZPZsVTr4kijmaGyMDwCHAHtHJWi8LuZVqfaQceZ9oiKpqEREAREQBERAEREAREQGDcdJUVfWyVfT1ED5d3iNwwT28lzs0LbeLimqKqU97wPuVMiv2klxOd7NRbu4mRBpayQfDQsce2Ql31K04oYoG8EMTI29jGgD5L0RVbb1NY04Q3VYIiKC4REQBERAEREAREQBERAEX4c425qXdaNSXfIuFxZRwuGDFBuT44\/Eq0UnqzKpUcd2LbNi4X222xrvaapnG39Uw8T\/Tq81jnUl0uxdFZLa4Nzj2iY4A8uXzPgu+36TtNB73Qe0P\/anw7HgOS2QABgDACteK0VzLBWnvPCumvmTNLpF9VIKm+1klZKf1YcQ0efP0wqGlo6aii6KlgZCzsY3GV7IquTeprTowp7qz58QiIqmoREQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "MIGUEL ROJO",
    "correoContacto": "mrojo@docere.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INSTALACIÓN DE BANDEJA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:30",
    "ubicacionGPS": "LatLng(lat: -23.5915832, lng: -70.3959089)",
    "horaLlegada": "15:25",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


15/06/2026 15:29:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
15/06/2026 15:29:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65152162

[15/06/2026 15:29:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('65152162', 'KY2755', 1, 24456550, 37767, NOW(), 
				'08:00', '15:25', '15:30', 10, '•Se instala bandeja adicional', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781551769.png', '', null, 'COMPLETADO','LatLng(lat: -23.5915832, lng: -70.3959089)' )
				
[15/06/2026 15:29:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200723

15/06/2026 15:29:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200723'                    
				WHERE idllamado = 13047			
				TO ENVIO: micorreo@miempresa.cl, mrojo@docere.cl, khapo73@gmail.com


15/06/2026 15:29:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13047			
				
15/06/2026 15:29:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


15/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:29:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:29:31 - INPUT: {"rutTecnico":"24456550"}
[15/06/2026 15:29:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:29:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13047
            GROUP BY l.idllamado;
            

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                

15/06/2026 15:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13047
                
[15/06/2026 15:34:53] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:34:53 - INPUT: {"rutTecnico":"21773342"}[15/06/2026 15:34:53] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 15:34:53 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

)

15/06/2026 15:34:57 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:34:57] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:34:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:03 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:35:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

15/06/2026 15:35:13 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:35:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:15 - INPUT: {"rutTecnico":"21773342"}
15/06/2026 15:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

[15/06/2026 15:35:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:20 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:35:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:31 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:35:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:35:34 - INPUT: {"rutTecnico":"21773342"}
[15/06/2026 15:35:34] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:35:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 15:50:26 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:50:26 - INPUT: {"rutTecnico":"19969062"}[15/06/2026 15:50:26] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

[15/06/2026 15:50:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:26 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

)

15/06/2026 15:50:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)
[15/06/2026 15:50:26] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:32 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:32 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[15/06/2026 15:50:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:32 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[15/06/2026 15:50:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:43 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:43 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:44 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:44 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[15/06/2026 15:50:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:56 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:57 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:57 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:50:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:50:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:50:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:02 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[15/06/2026 15:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:02 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:02 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:02 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 15:51:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:03 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:03 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:03 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[15/06/2026 15:51:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:03 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:03 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:04 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

15/06/2026 15:51:10 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

15/06/2026 15:51:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:11 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:14 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[15/06/2026 15:51:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:15 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:15 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

15/06/2026 15:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[15/06/2026 15:51:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[15/06/2026 15:51:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

15/06/2026 15:51:20 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

15/06/2026 15:51:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:25 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:25 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:25 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:51:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[15/06/2026 15:51:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:26 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:26 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:40 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:40 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:40 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:41 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:42 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:51:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:51:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:51:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:18 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:52:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:52:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:52:18 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:52:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:52:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:52:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:52:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:19 - INPUT: {"rutTecnico":"19969062"}
[15/06/2026 15:52:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:52:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

15/06/2026 15:52:19 - INPUT: {"rutTecnico":"19969062"}
15/06/2026 15:52:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[15/06/2026 15:52:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 15:52:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

)

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 15:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

15/06/2026 16:35:41 - INPUT: {"rutTecnico":"7999273"}[15/06/2026 16:35:41] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7999273 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7999273'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 16:35:41 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 23/10/2024
        )

    [1] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 10/04/2024
        )

)
[15/06/2026 16:35:41] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7999273'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 16:37:08 - INPUT: {"rutTecnico":"7999273"}[15/06/2026 16:37:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7999273'
				GROUP BY anio
				ORDER BY anio DESC;
				
[15/06/2026 16:37:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7999273 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7999273'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 16:37:08 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 23/10/2024
        )

    [1] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 10/04/2024
        )

)

15/06/2026 16:37:08 - INPUT: {"rutTecnico":"7999273"}[15/06/2026 16:37:08] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 7999273 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '7999273'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 16:37:08 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 23/10/2024
        )

    [1] => Array
        (
            [PrioridadDesc] => MEDIA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IND
            [FechaLlamado] => 10/04/2024
        )

)
[15/06/2026 16:37:08] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '7999273'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 16:37:15 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:15] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:37 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:37] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

15/06/2026 16:37:38 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:38] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:38 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:38] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:52 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:52] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

15/06/2026 16:37:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

15/06/2026 16:37:54 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:54] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:56 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:56] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

15/06/2026 16:37:57 - INPUT: {"rutTecnico":"7999273"}
15/06/2026 16:37:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

[15/06/2026 16:37:57] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:37:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12962
            GROUP BY l.idllamado;
            

15/06/2026 16:37:58 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:37:58] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:37:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:38:00 - INPUT: {"rutTecnico":"7999273"}
15/06/2026 16:38:00 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:38:00] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

[15/06/2026 16:38:00] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:38:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:38:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:38:02 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:38:02] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:38:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:38:04 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:38:04] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:38:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 16:38:05 - INPUT: {"rutTecnico":"7999273"}
[15/06/2026 16:38:05] Llamados.php->getLlamadosByTecnico: RUT: 7999273 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '7999273'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 16:38:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12963
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 16:26
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2779
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => CLAUDIO DIAZ
            [RUTTecnico] => 7999273
            [idllamado] => 12962
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 09/06/2026
            [HoraLlamado] => 15:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2304
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[15/06/2026 21:57:14] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

15/06/2026 21:57:14 - INPUT: {"rutTecnico":"9291721"}[15/06/2026 21:57:14] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

15/06/2026 21:57:14 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [RutCliente] => 8732136
            [ModeloMaquina] => L5590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)

15/06/2026 21:57:17 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:57:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:57:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:57:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

15/06/2026 21:57:45 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:57:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:57:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:57:59 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:57:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:57:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

15/06/2026 21:58:00 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:29 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

15/06/2026 21:58:31 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:37 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

15/06/2026 21:58:45 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:48 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:50 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

15/06/2026 21:58:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:55 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:58:57 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:58:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:58:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

15/06/2026 21:58:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:19 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:22 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

15/06/2026 21:59:27 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:32 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

15/06/2026 21:59:39 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 21:59:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

15/06/2026 21:59:44 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 21:59:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 21:59:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 22:00:04 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 22:00:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 22:00:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

15/06/2026 22:00:05 - INPUT: {"rutTecnico":"9291721"}
[15/06/2026 22:00:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

15/06/2026 22:00:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
[16/06/2026 08:35:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 08:35:02 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 08:35:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 08:35:02 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => MFC-L8900CDW
            [FechaLlamado] => 12/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MADERO COMUNICACIONES LTDA
            [ciudad] => COPIAPO
            [RutCliente] => 76079600
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

)

16/06/2026 08:35:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:35:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:35:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 08:54:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:54:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 08:55:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 08:55:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 08:55:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 08:55:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 08:55:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 08:55:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:41 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[16/06/2026 08:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 08:55:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 08:55:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 08:55:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 08:55:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 08:55:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 08:55:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 09:28:55 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 09:28:55] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 09:28:55 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SCHWAGER SERVICE S.A.
            [ciudad] => RANCAGUA-SANTIAGO
            [RutCliente] => 76145047
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

)
[16/06/2026 09:28:55] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 09:28:56 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 09:28:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:28:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:29:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 09:29:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:29:01 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 09:29:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13016
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 09:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69900303
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2213
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:29:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:33:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:33:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                
[16/06/2026 09:35:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 09:35:28 - INPUT: {"rutTecnico":"21773342"}[16/06/2026 09:35:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 09:35:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76121841
            [ModeloMaquina] => MA5500ifx
            [FechaLlamado] => 09/06/2026
        )

)

16/06/2026 09:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:30 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:35:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                
=========================================
FECHA: 16/06/2026 09:35:36
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-6QNmSv+oXyUaKp_HsoXx46XiBXdk9dDk42V0eUwhElXi+9_c3uW
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "69900303",
    "serieinterna": "EP2213",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "42589",
    "contadorColor": "38983",
    "contadorScanner": "0",
    "detalle": "•Se reemplaza goma ADF\n•Se hacen pruebas de impresión en doble cara por bandeja 1 y bypass, sin problemas",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13016",
    "observacion": "•Tentativo cambio de gomas de bandeja 1 y 2, RGOM2393\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAWADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABHEAABAwMCAgYGBQcMAgMAAAABAAIDBAURBiESMRNBUYGRoRQiYXGxwRUWMkLRIyQmM1JkcjRDRFVic5KistLi8KPhwtPx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAxEQACAQIDBQYGAwEBAAAAAAAAAQIDERIhMQQTMkFhFFFxkaHRIjOBscHhQmLwUiT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARRKq6UFD\/KayGI4zwueM+HNU0+tqIvMVBTVFbJ1BjeEH5+SsoSeiMp16cOKRpF4SAMk4AWXFRq25\/qqeG3Rk\/af9rn7cnyC9bo6aqLXXa71FSQN2NOw9xOfgFbAlqzLfylwQb8ci2qNQ2il2luEOexjuM+WVWS64twJZTQVNQ\/qDWYB+fkp1LpazUoHDRMkcBu6XL89x28lZxQxQN4IYmRt7GNAHkl4Im20S1aXqZs6lvM4\/NdOzjsdJxY+A+K99M1jP8AZt9LAO1zhn\/V8lp0TGuSG4m+Kb9F+DMej6zl\/ptHB3A\/\/Ep9E6qf+svcTc8+FvL\/AChadFGN9yHZlzk\/NmY+g9Sf1\/5FBadVQnMV6ifjfEjf+JWnRTvGOzQ5N+bMuZtY0WC+GmrWtO\/DgEjy+Ck0GqoZKoUdyp32+p2AbJnhcfYcbd\/ir9ZfWlXRmjbQ8IkrpHt6INGXR789t9+WPapi1N2aM6kZUIuanpyef7NQi40bJIqKCOU5kbG0P3zuBuuyyOxO6CIiEhERAEREAREQBERAEREAREQBERAEREAREQBEXGoq6akZx1NRHC3te8N+KENpZs7Is7U60tkbhHSNmrJCcNbGwjJ7\/wAFH9P1VdTikomW+I\/fl54x7d\/AK+7lzyOd7TTvaOb6Zmoe9kbC+RwY1oyXOOAFTVurbPRhwFT07x92EcWe\/l5qGNISVjhJeLrUVT+fC04a33Zz5AK4orJbLeQ6mo42PHJ5HE7xO6m0F1IxV56JR8c36e5TfWG+XA4tllLWHlJUHAI7eoeZXhsWobk3FyvHQsPOOAc9uvGB8VqUTHbRE9nxfMk36L0KGl0bZ6ch0kT6l4OeKZ+cn3DAVzBTQUzOCngjhaeqNgaPJdUVXJvVmsKUIcKsERFU0CIiAIiIAi+XvZGwvkcGNaMlzjgBUdfrC10ZLIpDVy9TYdwT\/Fy8MqVFvQznUhTV5OxfKJW3Oit0fHV1LIh2E5J9wG5VA6TU98LeijFqpXD7Rd65Hx8gpVHo22wPMtWZK2YnJdK44z7uvvyr4UuJmO+qT+XH6vL01Ikt\/ul7kdBYqV0cPI1Ugx4dQ8yrKzacp7Y41MzzVVr93zybkHrxn481bta1jQ1jQ1o5ADAC+lDnlZZFoUPixTd36LwQREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKm76jorNK2Gds0kr28TWRs+ZwFWnU10rvUtdkmJcPVkm2aPb1Dt61puBnHx8I4sY4sbr6V04rkYSp1JPjsui\/Jl\/ojUtxPFXXcUjD\/ADdP1Ds2x8Su1Nom2Ru6SqdNVvPMyPwCe7fzWiRN5LkVWy073krvrmR6WhpKJvDS08cIxj1GgZ96kIiodCSSsgiIhIREQBERAEXy1zXt4mODh2g5UWtutBbhmrq44jjPCTlx7hupSbIclFXbJiLMSaulq3mKy22arcDgyOaQ0e3b54Xn0Zqa6\/y+4MoYtj0cAy7Pd+JV8DWuRz9pi8qacvDTzLe4X222xrvSapnG3+aYeJ\/h1d6qDqS63M8NltL+HmJqjYEeQ8yp1v0paqAl5h9JkP36jDvLkrkAAYAwAl4rRXIw1p8Twrpr5mYZpevuTi++3SSQE5EMDsNHiMeA71d0Fot9tH5pSsjdjBfjLj3ndTUVXNs0hQpwd0s+\/mERFU2CIiAIiIAiLxzg1pc4gADJJ6kB6iztZrGkZKae3QS18\/UIh6vjzPcFwbHq65tbIZobdGebMet8CfMK+B88jme0wvaCcvD30NSiqLTbKy2SSS113kqxIAA2TIDT7MkqxFXTF3CKiIu7OMZVWu42jJtXkrHZERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALP6rvrLZRPpGdIKmojIY5uwaOROVoFk6iJt91sIZPWprcwFzSNnO7PEjuarwSvd8jm2mUlDDDV5GapL5XMoGULbg6kgjzuxpLnZOdjz8x1KZTVemKd\/STQV1wndgl0wGCfdn45W9Zb6KN3Eyjgae0RNHyXZrWsGGtDR7BhaOquSOWGxTVryTt3q\/wCTLs1VUloZQadqXR49XALRjq2DSvr6e1FIcR6fc3+Mnn5LUIqYo9x07mpzqPyRmPpLV7\/sWambjnxOH+8J6drP+qaP\/GP\/ALFp0UY13IncP\/t+nsZjpNZv26Cjj9uR+JT9M\/3PyWnRTj6Idn\/vLzMx+mf7n5J+mf7n5LTomPoh2f8AvLzMx0us4t+go5vZkD5hPpTVkX62ywP\/ALt3\/IrToox9EOzvlN\/76GY+st5h2qNOTu7TGXYH+Ur7Zraha7grKWqpX4zhzM\/++eerqWie9kbC+RwY1oyXOOAFQ3TVVlp2FuWVsjeTGN4h\/iO3hlWVpfxM546Su6nml+ixor3bbg0mmq2OwMkHLSPfn3FY286hZd6x0EtQ+C3RHdsQy+U\/Dzx71VuqKytrJq6kpmQBjCX+js4WxtO2+P8ApWw0vYLdFbaevMYnnlaH8b9ww9gHVjxWmGNPNnIqtXavgWS59UQaGe5vhEOnrKKKLI4qifHE4dpzz81L+rd7qx+fX+RuRgshzg+Y+C1CLJ1HyO1bLG1pNv0XkjMt0JbScy1NXIfa9v4LodD2YtxicHt6Tf4LRIo3ku8v2Wh\/yjLnREMO9Dc6undzzkHft2wub6y9aYkaa95uNA446XfiZyGTz8OvPNaxQL5JFFY6105AZ0Lhv1kjAHiQpU23Z5mc9nhCLlT+Fr\/aEuCeOpgjnidxRyNDmntBXRU+lWys07SiXOSHEZ544irhUkrOx005OUFJ8wiIoLhERAEREAREQBERAEREAREQBERAEREBHr6tlDQT1T9xEwux2+xUujKZ7bZLXzZM1bKZCSOYz+OT3r41jNJNDSWmEEyVsoBI6gCPmQe5aCmp46Wmip4hiOJgY0HsAwtNIeJy8dfpFer\/AEdURFmdQREQBERAEXKoqqelj6Somjib2vcAqKr1pboniKjjlrZSQAI24B8d\/JWUW9DKdanT4nY0S5zTRU8ZknlZEwc3PcAB3lZptRq267xQRW2I\/ekHreByfIL7i0Y2eTpbrcaitd2cRA5+0k\/BWwJasy385fLg\/rl+ztW6ztdMSynMlXJvgRN2z7z8sqP9J6num1FbmUMZziSf7Xn+BV9R22ioGcNJTRxDrLRue\/mpSYorRDdVZcc7eHvqZhukJax3SXi6T1Ts5DWHDW+7PyAVdNR01dc\/oWxRtghaPzupbuSOzi5kdWOsq41Ld5YTFaaDDqys9TIO8YO2fZnPPqxlT7JaIrNbm0zMOkPrSSAfad\/3ZWxNK7MHRhOeCC01fPwv9zpDaaOntj7fBEGRPYWnbJOes55lUukqp1IaixVLsT0ryWdjmnc479+9adU17sDbk9lXSyej10O8co2z2AqkXe6Z0VKbi1OmtOXQuUWXZqautfDDfbfI31iPSIhlpGT1f++XV22dPqWzVLQW18TCRylPBjxRwki0dopyyvZ9zyLVFAkvdqi2fcaYHsEoJ8lX1esbZC4R0vSVsrtmthb19mT8sqFCT5FpV6cdZIvnODWlziAAMknqWSrah2rLs23Uhzb6Z4fUSg7P9g88ePUvr0XUGo3YrT9HUJ5xAes8dhHPxx7lorfb6a2Uraalj4GDc9rj2n27K2UPEweKvla0fV\/o7xRMhiZFG0NYxoa1o6gOQX2iLM7AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDzAOMjlyXqIgCLwkAZJwAqev1VaKAEGqE8gGzIfWz38h4qUm9Ck6kYK8nYuVzmmip4zJPKyJg5ue4ADvKzLrxqK7Ei1W70WE8ppxuR2jO3kV0j0i+reJbzcp6twOQxrsNHaP\/wAwr4EuJmG\/lP5cb9XkjpWazt8MvQ0jJK2XIAEQ9U+49fcFG6bVl3GI4Y7ZC4Hd+zufeQe4LR0lvo6BnBSU0cIxg8DcE+88ypCYorRDc1J8c\/osvXUzUGi6d8vTXOsnrpScnLi1p+fmr2kt9HQM4KSmjhGMHgbgn3nmVIRVcpPU1hRp0+FBERVNQoV1udPaKF1VUE4Bw1o5ud1AKTNNFTwvmmeGRsGXOcdgFlKOKTVt4dW1TXC2UrsQRkbSHPX4ZPgrxjfN6GFao42jDienuS9MWyodLLe7lk1dT9kEY4WbdXVy8PetIiKJSxO5elTVOOFBERVNDxzQ5pa4AgjBB61W1GnLPVOLpbfFlxySzLM+GFZopTa0KyhGXErlNHpKxxjHoId7XSOPzU+lttDRHNNSRROxjiawA496lIpcm9WVjSpx4YpfQIiKpoEREAREQBERAEREAREQBERAEREAREQBERAEVNqK+vssMXRUpnkm4uHf1W4xufELPW83jVU80dRcJaWCMbtjYWh2c7bfMrRQbV3octTaYxnu4q8jVXC+W62MJqalnGNujYeJ5Pu\/FU51RcLhIY7NaZJG5wJ5chvv7B4qbQ6RtFCQ\/oDUPH3pjxeXJXQAAwBgBLwWmYw158Twrpm\/My0embjcx0l9uUjg4h3QRHZvyHcO9XFFp+1W88VPRsD\/ANp\/rHzVkihzky8Nnpxd7Xfe82ERFQ3CIiAIij1dwo6BnHV1McIxkcbsE+4cympDaSuyQo9bX0tupzPVzNiYOWTuT2AdZWdm1TWXKZ1NYKF0p5GeQbN9uOQ7\/BdaHSjpaj0y+VJrp8bRkngb+Pu5LTBbiObfueVJX68v39CNmq1lV8n09oid17OlP\/fBaqGGKnhZDCwMjYMNa0bAL6a1rGBjGhrWjAAGAAvpVlK+XI0pUsF23dvVhERVNgiIgCIiAIiIAiIgCIiAIvl8jIxl72tH9o4UGa\/Wmnz0lxp9uYa8OPgFKTehWU4x1diwRZ+bW1li+xLLN\/BGR\/qwo\/1wqJsehWOrmB2BORv3Aq27l3GL2qiv5X8M\/sahFlzcNW1Y\/IWuGmaeTpDuPE\/JBZtT1Z\/O722AHqgG48APipwd7I7Q3wwb+lvuahRxXUZnEAq4DK44EfSDiPcs+NGOm2rrzV1A7M4+JKsbfpe1W2Zk8MDnTM+y+R5JHdy8lDUVzJU60nw2XV+xboiKh0BERAEREAREQBERAEREAReEgDJOAFX1N\/tNJkTXCEEcw13ER3DKlJvQrKcY5ydixRZmXWsMrjHbLfU1kg7G4Hv2yfJc3O1bdThrIrZCQdyfWx5nPuwr7t88jB7VB8F5eH+saWepgpYzJUTMiYPvPcAFS1WsbZFJ0NKJKyYnha2JuxPvPyyuMGi6d8vTXOsnrpScnLi1p+fmrykt9HQs4aWlihHa1oBPvPMp8C6kXrz7o+r9jPGbVV5AMMTLZTubzcfWPzHgFJpNH0bJRUXCaWvn+8ZXeqT7uZ7ytCijG+WRK2aN7zeJ9fbQ+IoYoGCOGNkbB91jQAvtEVDpCLlLUwQAmaeOMDnxvAUOW\/2iDPHcafbqa8O+ClJvQq5xjqyxRUUusrJHnhqXyEdTInb+ICinW9PKeGit1XUO7OED4ZVt3LuMXtVFfyRp0WX+sOoKjHoun3sB3\/Kk8u\/CfpnUu\/olIMew\/wC5Tu3zZHaYvhi39Pc1C8c4NGXEAdpWYGn7\/UE+lagewHYiHO48l6zQ9K88VZX1VQ4nJ9YDPjlMMebG9qvSn5tfsuprxbIBmWvp2+zpAT4KBNrGyRA4qnSkdTI3fMAJDo+yQjeldKcc3yO+RVhDabdTnMNDTsOc5EYz4p8HUf8AofcvN+xRu1vDKS2ittVUuzsMYz4ZXv0zqaq2pbGIQeucnbxwtMAAMAYAXqYo8kN1VfFU8kl7mXFNrKpOX1lNStPNoAJHkfih0vdZxiq1DUEfssBxnxWoRN4+Q7NB8Tb8WzNM0NbieKoqKqd3a54HyU2HSlkhxiha4g5y9znfEq4RQ5yfMtHZqMdIojwUFHS49HpIYsfsRgKQiKhskloEREJCIiAIiIAiIgCIiAIvlwLmFoOCRjPYsTUafrqoEVF7nlB5h7SR4cSvGKerMK1SULYY3NZPd7bTZE1dTsI6jIM+CgT6vskAOKsyuH3Y2OOe\/GPNZn6m\/v8A\/wCH\/ku9JpCUTNbFdDE4\/fbDuO\/iytMFPmzje0bU3ZQS\/wB4lkdXVdZkWuy1Ew6nv2HgPeOtP0xrTjFLQNPXsTj\/ADINI1hHrahqye3f\/cvTomGRuJrlVv7\/AMUvBaDDtMuK\/ml9jm7SxnIdeb5LNjdzA\/hAPeT8Au8Fs0nQDiMlG845zTh+e4nHkjNC2huMuqX4\/akG\/gFJZo+xsOTRl38UrvxUOa72WjQmndQX1bf4OjdQWGkZ0cdZTsYD9mMbeQXKTWNjZyq3PP8AZid8wpLNN2aP7NuhP8Q4viu8dptsX6u30rfaIW\/gq\/B1Oi20f1XmUz9dWsHhihqpXdQawfivn63Vcu9Lp+smadwdxkduzStKyNkYwxjWj+yML6TFHuG7rPWfoZf6c1LMfyNg4AOfSE\/PCF+s6jH5Kkpe8H5uWoRMa5JDcSes39vwZc2bU9Rj0i+sj\/uRj4AJ9Tppj+d3yrnHXzHxJWoRN5LkOy03xXfi2ZyHQ1ojxxmeXA34pMZ8AFMi0rZIcFtAxxH7bnOz4lW6KHOT5lls9GOkV5ESG1W+nx0VDTsIOQREMqUAAMAYAXqKl7myilogiIhIREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "CONSULADO DE ARGENTINA ANTOFAGASTA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "khapo73@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R871\",\"id_control\":\"29013\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "09:36",
    "ubicacionGPS": "LatLng(lat: -23.6587521, lng: -70.3973932)",
    "horaLlegada": "09:22",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 09:35:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 09:35:36 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:69900303

[16/06/2026 09:35:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('69900303', 'EP2213', 1, 24456550, 42589, NOW(), 
				'08:00', '09:22', '09:36', 4, '•Se reemplaza goma ADF
•Se hacen pruebas de impresión en doble cara por bandeja 1 y bypass, sin problemas', -1, 
				'', '','1','38983',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781616936.png', '•Tentativo cambio de gomas de bandeja 1 y 2, RGOM2393
', null, 'COMPLETADO','LatLng(lat: -23.6587521, lng: -70.3973932)' )
				

16/06/2026 09:35:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            
[16/06/2026 09:35:36] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200724
[16/06/2026 09:35:36] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200724', 'EPS-R871', 1)
				
[16/06/2026 09:35:36] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29013 and
				    IDproducto = 'EPS-R871'
				

16/06/2026 09:35:36 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R871';
                
16/06/2026 09:35:36 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200724'                    
				WHERE idllamado = 13016			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, khapo73@gmail.com


16/06/2026 09:35:37 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13016			
				
16/06/2026 09:35:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 09:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 09:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 09:35:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:35:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:35:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13016
            GROUP BY l.idllamado;
            

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13016
                

16/06/2026 09:35:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 09:35:42 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:35:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:35:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:35:52 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:35:52] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:35:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:36:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 09:36:01 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:36:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:36:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:36:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:36:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:36:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:36:38 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:36:38] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:36:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:36:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 09:36:46 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:36:46] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:36:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:37:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 09:37:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:37:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:37:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:44:09 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:44:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:44:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:44:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 09:44:13 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 09:44:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:44:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:50:23 - INPUT: {"rutTecnico":"9291721"}[16/06/2026 09:50:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 09:50:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 11/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => PROACTIVE
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76423913
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 11/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => MAURICIO ANDRES ABARCA LAGOS
            [ciudad] => MARIA ELENA
            [RutCliente] => 8732136
            [ModeloMaquina] => L5590
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => LABORATORIO CLINICO CASTILLO ZEPEDA LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76419232
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 10/06/2026
        )

)
[16/06/2026 09:50:23] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 09:50:25 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:50:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:50:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:50:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 09:50:27 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:50:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:50:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:50:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:50:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:50:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:50:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 09:50:38 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:50:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:50:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:51:42 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:51:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:51:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:51:44 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:51:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:51:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:51:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 09:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 09:52:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:08 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 09:52:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 09:52:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 09:52:43 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:52:43] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:01 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 09:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:25 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 09:53:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 09:53:54 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:59 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 09:53:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 09:53:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 09:53:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:13 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:06:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:06:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13035
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO UNIDAD DE IMAGEN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:33
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3089
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:06:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:06:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 10:09:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-NV5OqFVPaX18uza7WOz8dD6tT4VOsLqkll4VfiSzE2.TmFbbmFr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3089",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "195582",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "01 Rtam 3142\nMant limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13035",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAA7AJwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xAA7EAABAwMCAwUEBwcFAAAAAAABAgMEAAURBiESMUFRYXGBkRMUocEHFiIjJLHRFTNScpLS8EJissLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMBEAAgECAwUGBQUAAAAAAAAAAQIAAxESITEEE0FRcSJhobHB0RQygZHwM0JS4fH\/2gAMAwEAAhEDEQA\/APs1KUohFcpMhuJGdkvK4W2klSj3CuhIAyTgCslJdc1ddxEYUoWqMcuuDb2qv85eZ7KpVv0mNargFhmTpLXT9zn3cPS3mG2oalYj\/wAZxsc923rXS\/3xqyQuPZb69mmz17Se4VIlyYtktanijgYYSAlCAPAAVgYjEzU2o0+95KVkOOY5Ib5gDs2OPOtFUMSx0nLWqvSUUwbufz\/J9BtstU+3MS1tBovJ4uAK4sDpvgdKlV4aaQy0hptIShCQlKR0A5CvdZGd6ggC+sUpSlHFKUohFKzFxudxul4VabOr2SGT+Ik\/wn5YO2OvhUrR8+TcLKVylFa23S2FnJKgANznmd6soQLznXaFapgA559Je0pSonRFKUohFKUohFKVAvN1Zs9vXJcIK8YbR1WroP1pgXNhJZgoLHSVOpbm\/IfTYrZxKlPfvin\/AEII5eYPp41dWy3s2uA3DYyUoG6jzUTzJqr0pbnWYq7jM4lS5Z4iVZylPQb+vpVvOmsW6IuVJXwtoGe8nsHfVt\/ETnpC96z8fAfmsxeuLmZU5u2sniSwcrSnfKzy9Afia0mnLGizW8JWlJlOburH\/EHsH55ql0hbPfpTt9lHiWpxXs0nffqr44FbKqqNYYBMdmpl3Nd9Tp0ilKVjPQilKUQiuMt73eG+\/kD2balZPTAzXaot0Qly1S21rShK2FpKlHAGUkZJpjWSxsptMhBnfsrRT8pWDInvLCCQNydifAYJ8a0unbcbZZWGFghxQ41g8wT08th5VldIwV3aS05JKVxbcCG2zg5Uok7jxOfIVvq1qmxtOHY1LKKh0AsPU\/eKUpWM9CKUpRCKUpRCKycRtWptSLnODit0FRQzywtQx69vpVjqm4LiWwRo+TKmq9i0kc9+Z+OPEip1rgN2i1tRQRhpOVr5AnmTWg7K35zlcb2oE4DM+g9ZJeebjsreeWENoGVKUdgKxdxMvViX5LSVtW6E2tTW27ywOzy8vOpEl+Tq26mHFWW7XHUC45j94R+fcPOtVHisxIqIzKAlptPClPdTHYz4yGvtNwPk8z7Sq0eQdMRMHlx5\/rVV3WZEO6adkOC1xkzILiuMslRCkHYYB+PLp4VxfuOob237nFtTluSv7LrzxOyT2ZA7+WfKgriNxpBK27QIwOIZaa\/Wc52ppbl3C7e067Bhq4X\/AGac+0J2\/wDPWpP1tmPbRLBKcParIA9BVzabUxaIKYzAzvxLXjBUe2p1IsvKNaVbUvYnu8pk5rGpX2HZU6azBjtpKi0zjOwO2e\/bmeuastJKfVp2Mp9SlE5COLokHAHoKsbhDTPgPRFKKQ6gpyOlZ1izaqisJisXaKhhsYQAncD+j507hltpJKNSq4gCwt4zSS5saAwX5TyGmx1UefgOvlWXUZusnylClxbS2rc4+06R\/ngPGpkfR7S3kyLrNfnupPJasJx2dT8avipiK0AVNstpG2SEgClcLpmZZWpV\/UyXlz6zLTID2lZwudtbK4KkhMhjOSkDr889vca0kC4xLnHD8R4OJ6jqk9hHSo8q\/wBnjpKX57BBGClKuP4DNYu4TrZGnCXp56Qy\/kZbS392rt5\/ljFUFL66zFqi7OewQRy4jp7T6NSsNJ1tdo7SEOW5DLpG6nUqHF3gbfOpcVrUV5aDgvkZtogH8PuodegBHrS3ZGZmo2xGOFASfznNaSAMk4AqFIvVrikh6ewkjmnjBPoN6photDxzPusuSf5sZ9c1Oj6SskcD8GHFDq4oqz5cvhU2QcZeOu2igdT7ThI1rZ2ThpT0hXIBtvr54qztVyTdYfvKGHWRxFPC6nBPeO7eu0eFEiDEaMyz\/IgJ\/Ku9IleAlotW93YdAJkXpsR3Wrr82S2yzbm8IC1Y4lY6DrzPfsPL9kTZWrZBhW\/jYtqD99IIwV9w\/T1q+lWO2TZaZUmGhx1IAyc4ODnccj51MaZaYaS0y2httPJCEgAeQq8Y4azAbO5JDHIm+Wp7pyhQo9viojRmwhtA2Hb3nvqRSlZTsAAFhKK5aut9rnuQ32ZKnG8ZKEpI3APVQ7aifXyCrPsoUteP9qf1rUUqwV5TBkrE5Pl0\/uZf64yFZLVilrHQ7\/20OpL64D7HTjyCdhx8W3wFailPEvKLdVTrU8BMp+0dYvn7u1sNA9TgY9VV+FjWr6d5Mdju+z8ga1lKMfcIvhidXb7zGL01qaQPv7yMHmkPLx6Yx215H0fur3dugzjo0Vf9q2tKe9bhJ+Con5rn6mZBP0fRxniuDh8GwPnXVvQrDeyLlJSDzCcDNaqlLevzjGx0B+3zmY+oduVu5LmLPbxp\/tqdaNMQbNLVJjuPrWpBRhxSSACQegHZVzSkXY5Ey12aipuFzilKVE6IpSlEJ\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "PEDRO LEIVA NOVOA",
    "correoContacto": "vadodetopater@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO UNIDAD DE IMAGEN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "222220883",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "10:09",
    "ubicacionGPS": "LatLng(lat: -22.4766069, lng: -68.9292808)",
    "horaLlegada": "09:38",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 10:09:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 10:09:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 10:09:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3089', 1, 21773342, 195582, NOW(), 
				'08:00', '09:38', '10:09', 4, '01 Rtam 3142
Mant limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781618941.png', '', null, 'COMPLETADO','LatLng(lat: -22.4766069, lng: -68.9292808)' )
				
[16/06/2026 10:09:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200725

16/06/2026 10:09:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200725'                    
				WHERE idllamado = 13035			
				
16/06/2026 10:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                
TO ENVIO: micorreo@miempresa.cl, vadodetopater@sleplicancabur.cl, dsprint@gmail.com


16/06/2026 10:09:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13035			
				
16/06/2026 10:09:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:09:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13035
            GROUP BY l.idllamado;
            

16/06/2026 10:09:04 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:09:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:04 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:09:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:09:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:09:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13035
                

16/06/2026 10:09:10 - INPUT: {"rutTecnico":"21773342"}[16/06/2026 10:09:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                
[16/06/2026 10:09:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 10:09:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE MEJILLONES
            [ciudad] => MEJILLONES
            [RutCliente] => 69020400
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 09/06/2026
        )

)

16/06/2026 10:19:59 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:19:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:19:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:20:02 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:04 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:16 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:17 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:20:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:25 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:26 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:20:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:39 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

[16/06/2026 10:20:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:20:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13036
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:40
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3023
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:20:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:20:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:20:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 10:21:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-e+T+Z0E4Zik1XdNW5KUK3zhxaUwUVlPMbFFeC81GERn2jfVIrIs
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3023",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13036",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACkANQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA5EAABAwMBBQYEBQIHAQAAAAAAAQIDBAURIQYSMUFREyJhcYGRFaHB0SNCseHwFDIHJDNSU2Ky8f\/EABgBAQADAQAAAAAAAAAAAAAAAAACAwQB\/8QALhEAAgECAgcHBQEAAAAAAAAAAAECAxEhMRITIjJBYaEEUXHB0eHwFCNCgbGR\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAKq7bRUFparZJO1qPywRrlyr49DqTeCIznGCvJ2ROq6ymoYVmqp2QsTm5cZ8upnZdqqu4zOp7DQOmVNFmkTDU8cfdfQ80FhqL3ULc7\/AL2FX8KmRVRGp49E\/imnhhip4mxQxtjY1MI1qYRCezHmzMtbWxWzHr7FdaKW8RSSzXWuZMr0w2KNvdZ64QtQCDd2aYRUFZAAHCQAAAAAAAAAAAAAAAAAAAAAAAAAAABSXTamioHrTwI6rq+CRRJnC+K\/bKle2i2ovKI+qrEt0Dlz2UejkT0191JqDzeBnl2iN9GC0ny9Tpcq+tvV1ks1qm7BkKZnqEVdOSt91T2UnWnZi32pySo1Z6j\/AJZdVRfBOX6+JKtFoprPTLFAmXvwski5y9ccSeHLhHI5To3enUxl\/PAAAgaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZu4x7Q3aqkpIESgokXCyuXvuTGvBV8eGPM0gJRdiupT1is3ZFbaLFQ2aLFPHvSqnelfq5fsngRay7zUG0tPSTq1tJUsRGLur\/drxXlrj3Lwq9obWl1tUkTU\/Hj78K80cnL14HU7y2iupBxp2pYWLQFPszdlutqasi\/5iD8OXPFVTn6\/rkuCLVnZlsJqcVJZMAA4TAAAAAAAAAAAAAB5e9kbFfI5GNamVc5cIgB6BT1W1dmpXqx1Yj3JxSNqu+aaERdubOnKoXXlGn3JqEnwKH2iinZyRowVtBtBa7k5GU9W1ZFXCMf3XL78SyItNZlsZxmrxdwADhIAAAAAAAAAAAAyVei7M7SMuEaYoa5d2dqcGu6\/X3Q1pV7R0PxCxVMKNy9re0Zpld5uunnw9TxsvXpX2GnfnL4k7J+nNv7YLHtRuZaf26rhweK8y3ABWagAAAAAAAAACPBX0lSj1hqI3ox6sdheDk4oDtjiknkzpPPFTQPnmejI403nOXkhk4I6zbOofLO99Na4n4bG1dZF\/T\/AO4QkbUSzV91oLFBKsaTLvzK1dd3X6I5ceRpIYY6eFkMLEZGxMNa1NEQmthX4syyWvm4vdWfN+xDprFaqRqNhoIMon9zmI53uupMSCFEwkTERP8Aqh0BBts0qEY4JFRctmbXcmqr6dsUuNJIk3V4c+v7Ffaqyrs15+CV8zqiKRN6nndnOOSL7Yx1NOZjapcXixKzSRajCO8N5n3JwbeyzLXhGn92ODuv2acAFZsAAAAAAAAAAAABlLc9bFtXUW164pq5e0h0wiOXOET5p6IaspNqLUtwt6TwZSrpF7SJycVxxT5e6E4NZPiZ+0RdlOOccfVF2CtsN2beLXHU6JKndlanJycfReJZEWrOzLoSU4qSyYABwkACLcLlR2uFJqyZImOXCaKqqvkmoSucclFXZKAAOnCKipYEckVNExHuVzt1iJlV5g7gXOKKXAzFsT+q25uU8i5WCNGMThjgn0X3NOZi0Zj23u0S\/mYjteP5fuacnPNGfs26\/F\/0AAgaQZdHfFtucsfmG2xqiqmmXcFT3X5e8zaK9rRR\/wBBRIstwqE3Y2M1Vmef2O2ztmS0UGJMOqpl3p35zldcJ6Z\/UsWyrmSb1tRQWSxfki2ABWawAAAAAAAAAAAAAADIzqmzO1jZ0XcoLho\/k1ruvoq58lU1qKiplFyikS52ymu1G6mqWZaurXJxYvVDO0F2l2Yc+2XhJHQsRVppmtVd9vT+cC3fWGZjT+nk1LdfR9xrgc4JmVNPHPGuWSsR7fJUyh0KjYnc8uc1jFe9yNa1MqqrhEQylDvbU39a+RqrbqJcQNcid5+nFPn7IfK6vn2ouS2m3SblDHrUTp+ZOifTr5Gno6OCgpI6WmZuRxphE+qlm4uZjv8AUSw3V1fojuACs2AAAGXmVtD\/AIgRPdolZBu5XrjCf+UT1NQZzbGkldRQ3OnduzUL99FToqp+ionzLugq219vgq2YxKxHYRc4XmnouhZLGKZlo7NScH4\/77nG3XikuctRFTK\/ep37r0e3dXzROPX2PF+r5LbZqiqhbmVqYZnkq6Z9OJTXVibP7RwXdndpqpezqET\/AHLz+vovU00sUdRC6ORqPjemFReCocaSafA7CU5xlBu0l8TKLZm007IviklQ2trJ0y6ZHbyMzxRPHqX6uajkarkRXcEVeJnpdjomSo63XCpoW5yrGOVU4+fl7HSg2SpqWtjraiqnq6iNco6RdM8vH58jstF43IUtZBKCh+7\/ABl+ACs2AAAAAAAAAAAAAAAAi19tpLnC2KrhSRrXI5OSovmSgE7HGlJWZ4iijghZDExGRsRGtanBEM5tBc6isrY7DbHp2s2lRI3Xs2809uJI2kvUtGjLdQIr6+p0YifkRdM+fT3JNhskdnpO9h9VKmZpeKqvTPQsS0VpMy1G6ktVDJZvyJFqtdPaKJtNTppxc5eL16qTQCDd8WaoxUVZZAAHDoAAB4liZNE+KRqOY9qtc1eaLxQy9mql2cuL7JXOVIJHK6mmdoi55fznk1ZXXqzw3qhWnkXcemscmMqxft1JxayeRRWhJ2nDeXXkdLvbmXW2TUb1xvp3XdFRcoVmylykmppLZV92qoV3FRebU0T24ex52dus7ZnWW5o5tbTp3XOXPaN8+f29TntJRVFFWxbQUDUWSBMVDE0329V66ae3Qkl+DKJTvavDhg1y9jTAi26vhudDHVQKm69NW5RVavNF8SUVNWNqakroAAHQAAAAAAAAAAAAAAAVG0N7baKLEeH1cvdhj4rnrjohNuNfDbKGWrnXDY0yic3LyRPMotnqCa5Vztorg1u9Mn4EWP7E4IuvgmnnnmTilvPIz1pyuqcM30XeStnLI6ijWvrsyXCo7z3P4sReX3L0Ai227stp04046MQADhMAAAAAAAAApNobF8SY2qpHdlXwaxPauFdjkq\/op72evXxijeydm5VQLuTxqmPXHvp4FwZy8WSrhrHXeyvSKqwqyx8pU09OXDn5liaa0WZakXTlrILxXfz8SGqO2Sv28jV+F1zsaapE79vmnka5FRUyi5RTPU9xptp6GotdbCtJV4wsT01aqcHJnHPkc9mLnJTuWxXHMdVT5SNXLo9vJE9OHgdkm1d5orozjCVovZeXJ9xpgAVG4AAAHhksb5Hxse1z41RHtRdWqqZTPop7IlLbKWjq6iqgYrZald6RVcq5U7gRd7qxLABwkAAAAAAZ2426qvW0MUVTFu22lTfyqf6rtNP5yTxNC1qNajWoiIiYRE5H0EnK+BXCmotviwACJYAAAAAAAAAAAAAAAZ\/aOyTVL47pbV3K+n17unaInLz+mhXzuj2ptiV1Giw3aiRFVrdHaa4Tw448TYGdvFgnbW\/F7NJ2NYmr4\/yy9f36+ZbCXBmKvRteUVdPNea5k2wXpl4o8uTcqou7PHwwvXyUtT89mu6R3L4rTw\/0dwjXFTSSIqJInNU049UXXTOpuqCsjuFDDVxoqNlbvIi8vA5OFsSXZq6qLRbu11+cSQACs1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfcbJbrp3qqmasmFRJGphyaY48\/Uk0dHDQUsdNA3djjRETPFfEAld2KlGKqXSxO4AIloAAAAAAAAAAAAAAAAAAAAAAAAAAB\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "PAOLA DÍAZ SALAZAR",
    "correoContacto": "intipanni@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56222178733",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"29022\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"29022\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"29022\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:22",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:00",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 10:21:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 10:21:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 10:21:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3023', 1, 9291721, 0, NOW(), 
				'08:00', '10:00', '10:22', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781619686.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 10:21:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200726
[16/06/2026 10:21:26] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200726', 'EPS-I1240', 2)
				
[16/06/2026 10:21:26] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29022 and
				    IDproducto = 'EPS-I1240'
				

16/06/2026 10:21:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:26 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [16/06/2026 10:21:26] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200726', 'EPS-I1241', 2)
				
[16/06/2026 10:21:26] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29022 and
				    IDproducto = 'EPS-I1241'
				

16/06/2026 10:21:26 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [16/06/2026 10:21:26] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200726', 'EPS-I1242', 2)
				
[16/06/2026 10:21:26] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29022 and
				    IDproducto = 'EPS-I1242'
				

16/06/2026 10:21:26 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                
16/06/2026 10:21:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200726'                    
				WHERE idllamado = 13036			
				TO ENVIO: micorreo@miempresa.cl, intipanni@sleplicancabur.cl, dsprint@gmail.com


16/06/2026 10:21:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13036			
				
16/06/2026 10:21:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:30 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:21:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:21:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:21:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:21:33 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:21:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:21:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

[16/06/2026 10:21:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:33 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:21:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:21:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13036
            GROUP BY l.idllamado;
            

16/06/2026 10:21:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:21:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:23:37 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:23:43 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:23:43 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:23:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

[16/06/2026 10:23:43] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:48 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:48 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:48] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:23:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:23:49 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:49 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

[16/06/2026 10:23:49] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:53 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:53 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:23:55 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:23:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:23:55 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:23:55] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:23:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:23:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:24:04 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:04 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:04] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 10:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:08 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

[16/06/2026 10:24:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:08 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 10:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:13 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:13] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:14 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

[16/06/2026 10:24:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 10:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 10:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 10:24:19 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 10:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

[16/06/2026 10:24:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:19 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

[16/06/2026 10:24:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 10:24:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:25 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:25 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 10:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:31 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

[16/06/2026 10:24:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:31 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

[16/06/2026 10:24:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:36 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 10:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:36 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:36] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 10:24:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:24:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:24:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:24:53 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:53 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:53] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:58 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:58 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:24:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:24:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 10:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 10:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:24:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:24:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:24:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:24:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 10:25:10 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:25:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

[16/06/2026 10:25:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:10 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

[16/06/2026 10:25:10] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 10:25:12 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:25:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:12 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

[16/06/2026 10:25:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:19 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:25:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:19 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:25:19] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:21 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 10:25:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 10:25:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:25:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:25:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:25:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 10:25:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:25:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 10:27:31 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:27:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:27:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:31 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

[16/06/2026 10:27:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:27:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:27:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13036
                

16/06/2026 10:27:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 10:27:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 10:27:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 10:27:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:27:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 10:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 10:27:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:27:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 10:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 10:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 10:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:39 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 10:27:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:27:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 10:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 10:27:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:27:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 10:27:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 10:27:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 10:27:50 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 10:27:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:27:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:27:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:27:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:27:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:27:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:28:03 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:03 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 10:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 10:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 10:28:05 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 10:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:05 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:12 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 10:28:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 10:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 10:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 10:28:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

[16/06/2026 10:28:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 10:28:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

[16/06/2026 10:28:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 10:28:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

[16/06/2026 10:28:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 10:28:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 10:28:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 10:28:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 10:28:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:20 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 10:28:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:28 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:28 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 10:28:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 10:28:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:28:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 10:28:30 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

[16/06/2026 10:28:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:28:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:28:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:28:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:28:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:28:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:28:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:28:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:31:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:31:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:31:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:31:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:31:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:31:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:31:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:31:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:31:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:31:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:31:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:26 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:31:26 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:31:26] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13040
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3093
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:31:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:37 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:31:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:31:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:31:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 10:31:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:48 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 10:31:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:31:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:31:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:31:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:31:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:31:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:31:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:31:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:32:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[16/06/2026 10:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 10:32:13
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-f8GaDwyqTKeBUNoKvlVlRbo+JZrzFv1jDK1RUA9fzjWVdYnQLmn
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3093",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13040",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACTANgDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQECAwf\/xABAEAABAwMCAgcGAwUGBwAAAAABAAIDBAURBiExQRITIlFhcZEUMoGhscEV0fAjJEJS4QcWM3LC0jZDVGOSovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQMCAwYGAgMAAAAAAAAAAQIDETESIUFR0QQyYXGRoRMiM4Gx4RQkQlKy\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAp2811wqbzHZrbUCmeY+sklI5eHH7KiUxL+z\/tEg\/7tMePk7h6KcMszdob0pLi0jzkqdR6fzNWFlxox7zm+8zfj3\/ULe2u80V3h6yllyR70btnt8x91nKfuel2yz+22mf2CrGd2ZDXnxxwXbxlnYjoqUt4PUuTz9mUCKYi1HW2qZtNfqV7Gk4bVtb2XcdyBt3bBUNNV09ZEJaaZkrD\/Ew5UXFoup1oVNlnlxPZFjz11HTO6NRVwQnGcSSBv1XWO52+VwbHXUzyeAbK05+a5Zk9cb2uZSIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCmL2RT6ys9QT74MW2x4kf6lTqY1tGY6Wir2jLqaoHwB3+rQp0+9Yzdq+lq5WfoynRdWPbJG2Rjg5rgC0jmFh3muNttNRVtALo29nPDJIAz8SopXdi+UlGLk8GJfr3bbfCaeqYKmR42pw3PS8+QUbVUVyoYfxNrDa4Kl7WCKKRwcc5PDPgeJCpLJRUdrtgvlykDqidgldLJgkAjIA8T6leNMyp1ZdYq6WPq7ZTOPVxuJBkd37eP0x3q+LUcYPLrRlWtfLwlw8WzMptF2djAZo5p3HcmSQg\/LC7zaMskjOiynfEf5mSuJ+ZK3yKrXLmb\/41G1tK9CUfbb1pxhmttSa6lYN6eUEuaNuGPL+i3FlvtLe4C+HLJWe\/E47t8fEeK2amtQWuWjqW321gtmhPSnjadpG8zjvxx9eK6mp7PJVKEqHzQ3jxXToUqLEtlwiulBHVxAtDxu08WnmFlqtqxrjJSV0EREOhERAEREAREQBERAEREAREQBERAFrtQUnttiq4A0ud1Zc0DiXDcfRbFcEAjBGQV1OzuRnFSi4vianS1X7Zp6lcTl0berdv\/Lt9MLKu9B+KWqei6YYZQMOIyAQQR9FOWKtjsFXdLZUh4ip3mVhG56O3Ly6JVRRVtPcKVlTTSB8bxse7wPipyTUrozUJxqUlCWbWa9idpNKVdRNH+M1Ynp6VoZBBGSAQNgT3cPM96p4oo4YmxRMDGMGGtaMABd0UZScsl1OjCn3QiIoloXBAIwRkFcogJfTR\/Db5c7MdmB3XRDGABt9i30VQpi5N9l11bqhrQ0TxFj3Y4nceu7R6KnU572Zm7NspQ5P9hERQNIREQBERAEREAREQBERAEREAREQBERASupI222+W+8Bjerc7qZyeBBGNx\/lz6BeMjZNI3c1UYL7TVntNbv1Z5Y\/W48lSXa3sultmpHHBe3sO\/ldyK0un6plxt81hujP29ODG5jti5g4HzH5FXKV4nn1Kdqu2ze6fjxX3KOKWOeFk0Tw+N4DmuHAhd1JWyebS91FnrX9OinOaaY42J7\/v4+arVXKNmaqVX4i32aygiIolwREQExqbDNQWF\/Mzlv8A7M\/NU6mNQfvOqrJStHajeZjvyyD\/AKCqdTl3UZqP1Kj8V+EERFA0hFrZb5SwXplqkDxLI0Fjuj2STnb5IutNEYyjK9ng2Sxa+50dti6ysqGRDkCd3eQ4leF8u8Vmt7qh5BkdlsTDntOx4clrLbpw1c34nfMz1Mm4hfu2McgRz8uCkoq12VVKktWimrv2R1\/vmKhxFBaKyqAPENx9Mr1pNY0ckrYK6CWhlcQAJASO7jj7LfsYyNgZG0Ma0YDWjAC8K630typzBVwtkaQcEjdviDyK7eHIhorrdTu\/LbqZDXBzQ5pBBGQRzXKl7BVVNpubrBXuLx71LITxbvt5bfDgqhRlGzLaVT4kb4fEIiKJaEREAREQBERAFoNQWaolmbdbW7q66Hcgf8wDl+uK36LsW07ldSmqkdLJptVQawtb6OUCCtYM9Bw7UbhzHeF301dZusfZbj2KylGGkn\/EaPqceo3713vunBWP\/ELcfZ7hGek1zTgPI7\/Hx9Vo6msN2gFWGezXu2dp7MY61reO3hxx596uSUlZY\/BglKdKacs\/9Lqi7RYVouUd2tsVXHgFww9o\/hdzCzVS1Z2PRjJSSawERazUNyFrs01QHASEdCPxcf6ZPwRK7sJyUIuT4Gro\/wB+13V1A3jpYura7vdsCPmVTrT6ZtYttqY5+9RUASTOJzkncD4A\/VbhSm7vYq7PFqF5Ze\/qERFAvOMA4yOHBFyiAlq6MXXXFPSy5dDQx9aW42zsfqW+iqVMWQZ1leHHcgAA+GR+Sp1ZPgjL2bdSlzb9tgiIqzUTGrh7PVWqvb78VQG8cEg7\/Y+qp1MauPtNXare1oc+afpHJ4AYH3PoqdTl3UZqX1alvD8BERQNIREQBERAEREAREQBaO\/afFxc2tpHdRXxDLXjbp9wP5\/BbxF1Np3RCpTjUjpkTWkLbcbaayOsiEcT3AsAPPcEjw4fJUqIuylqdzlKmqUFBcApKszqTVMVLGQ+ht5DpXA7Od9+AHqva736prKv8JsX7SZxIlnHCPvwfv6brbWOzxWW3inYQ6Rx6Uj\/AOZ35KSWhXeTPJ\/Hloj3Vnp1NiiIqzYEREAREQExY\/8AjC8\/D6qnUxTu9i1\/UxyHotrIA5meZAH+1yp1OeUZuzbRa5N\/kIintUXeSCJtsocSVtX2Oi3i1p5+B\/8AqjFanYtqVFTi5MxbIH3vUtXeJM+z056mAZ2P64+bgqtYNmtjLRbI6RrumW5Lnd5JWcpTd3sQoQcIfNl7vzCIigXhERAEREAREQBFg9C4m8dIyRigbHkNA7RfwwfDn6LOXWRTvwCIi4SOCQBknACl7jeai91X4TY3Zaf8eq\/ha3w\/W661U1x1VM+jpY30dva7EkzxvJjiP6ep5Kht9tpLXTCCkiDG8zzce8nmrLKGcmRylXdo7R58\/LqeVptFLZ6QQUzck7vkPvPPis9EUG77s0xiorTHAREXCQREQBERAT2rKKT2eK7UpDaihcH5x7zc8P1yytrbblT3OkjqIHjttyWZGWnmD5LLc0OaWuAIIwQea+e6isUtmuTa2mkkjppH5EkYOYXHlx9CrYpTWlmKtKVCTqxV089S3ul0p7TROqqg7DZrQd3nuC02mLfM58t9uZ\/eqn3elgBrNsHw4Y8vNSl1iu0r4Kyvm9ogIAjqWjpx49PkRkqjo9NQXqFtZV3mevY7cdA4APA8eHoFPSoxzkzqtOtV2jjCbt9zd1OobRSj9pXwk9zHdM\/Ja+TXFnY4hpnkwM5bHjPqQsum0tZaU5bQskdjGZSX5+B2WyipoIABDBHGBw6DQFV8iNlu0PLS9+hO\/wB\/rV\/09Z\/4N\/3L1j1xZ3+8Z4\/80f5EqiXlJS08xJlgjeSMEuYCl4chorr\/ADXp+zVR6uschA9u6JPJ0bx88YWSNQWdwyLlT\/F4C7yWW1Sgh9upTniepaD64WO7S9kdxt8fwJH3T5PEf2F\/r7mZTXOhrHFlNVwyuHJjwT+tllKbuelImshnssbKarhkDgemcEfr7qjbnojpYzjfC5JLgTpyqNtTXpg5REUS4IiIAiIgCIiAIiIAiIgCIiAIiIAvOaGOohfDMwPjeMOa4bEL0RBkkKq0XDTzpJrW0VlA8ZlpZe0Gjvxz8wsKlaySU3DS8\/UVAB62glcMuHHsjmP1srxaW7aXornIahjn01VyljPE+I\/LCujU5nn1eytb0\/Tl5Ph5YO1k1HTXgGEgwVbB24XfPHf9VuF89vVrvFPK2athNSWe5V03v55F22dtuI7gCuKPWlxo+xI6OtjzsXgtf6\/Hx4LrpX3iQh234b01l9\/10PoaLQWzWFtuBbHITSzO26Mh7Odtg74+C3wIIyDkFUuLWTfTqQqK8Hc5REXCwIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCxai2UFU7pVFFBK4\/xPjBPqiJexxpPZmM3TlnZIyRtBEHMIc0jPH7rZoi623k5GEY91WCIi4SCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "NELSON DELGADO ROJAS",
    "correoContacto": "nelson.delgado@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56996284827",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1245\",\"id_control\":\"29025\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1246\",\"id_control\":\"29025\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1247\",\"id_control\":\"29025\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1248\",\"id_control\":\"129025\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "10:33",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:00",
    "horaDespacho": "10:22",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 10:32:13 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 10:32:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3093', 1, 9291721, 0, NOW(), 
				'10:22', '10:00', '10:33', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781620333.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 10:32:13] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200727
[16/06/2026 10:32:13] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200727', 'EPS-I1245', 1)
				
[16/06/2026 10:32:13] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29025 and
				    IDproducto = 'EPS-I1245'
				

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1245';
                [16/06/2026 10:32:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200727', 'EPS-I1246', 1)
				
[16/06/2026 10:32:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29025 and
				    IDproducto = 'EPS-I1246'
				

16/06/2026 10:32:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1246';
                [16/06/2026 10:32:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200727', 'EPS-I1247', 1)
				
[16/06/2026 10:32:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29025 and
				    IDproducto = 'EPS-I1247'
				

16/06/2026 10:32:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1247';
                [16/06/2026 10:32:14] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200727', 'EPS-I1248', 1)
				
[16/06/2026 10:32:14] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 129025 and
				    IDproducto = 'EPS-I1248'
				

16/06/2026 10:32:14 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1248';
                
16/06/2026 10:32:14 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200727'                    
				WHERE idllamado = 13040			
				
16/06/2026 10:32:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
TO ENVIO: micorreo@miempresa.cl, nelson.delgado@eplicancabur.cl, dsprint@gmail.com


16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:14 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13040			
				
16/06/2026 10:32:14 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                
TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:17 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:32:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:17 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

[16/06/2026 10:32:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:32:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:31 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:32:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:32:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:31 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:32:31 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:32:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:32:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:32 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:32:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13040
            GROUP BY l.idllamado;
            

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13040
                

16/06/2026 10:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:32:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:32:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

[16/06/2026 10:32:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:32:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:32:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:57 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 10:32:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 10:32:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:32:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:32:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:33:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:33:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:33:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:33:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:33:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:33:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:33:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:33:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:33:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:33:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:33:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:33:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:33:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:33:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:15 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:35:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:35:16 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:16 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

[16/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:35:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:35:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:22 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:35:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:35:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:35:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:35:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:19 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:36:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:36:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13039
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:48
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3101
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                
=========================================
FECHA: 16/06/2026 10:36:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-lM__1c-NS2fG.N1J96FLvfEcPF3MTmbwlPsAwKvRhEOr.3AcRnr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3101",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13039",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACpAMgDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xAA8EAABAwMBBgQDBwIEBwAAAAABAAIDBAURBhIhMUFRYRMicYGRsdEUFTJCUsHwNKEHIzNiNkNTosLS8f\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EAC8RAAIBAgQEBQQBBQAAAAAAAAABAgMREiExUQQyQWETcZGhsSKBwdHwFCMzQuH\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREAREQBERAFxrzqKK3SspKaM1VbIQBCzfj1+iaivZtNOyOnaJKyoOzEzp3wvGntPMtUZqKkiWulyXyE52c8h+55qaSSuzNUnKUvDp\/d7f9NVtNq2t2ZpKymosnPhNGcDvx+fNYzcb5p58X3uWVlG52HTxjJZ0zuH8PFVSxVNPHV00tNM3ajlaWuHYruPdHHw7SvGTv5nqKVk0TJY3BzHtDmuHMHgV7U3o6aSOCrtc7tqShlLR6Enh2yD8VSKMlZ2LaVTxIKQREUS0IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvjjstJPIZQErQAXfXFVVOAdFQN8NnEgO4f+x\/mVVqa0Owm11NQ\/BfLUuJxw4D9yVSqypzW2M3Cr+3ierzCIirNJMWwGn11c4QcMliEmAdxPlPD3d\/CqdTFJ5\/8RK3l4dMPfcz6rq3DUFstj9ipqQJP0MG04eoHD3Vkk21bYyUJxhGTk7K7+TpIpw65s4O4VB9Ix9V0rffrZc8imqmF4ONh\/ld7A8VFwktUWxr0pO0ZI6KIiiXBERAEREAREQBERAEREAREQBERAF5e3bY5ucbQIyvSICa0I7NjlYRgsqHAj2aqVTGnWm3ahulscCGOd40W44xnl7OHwVOp1Oa5m4X\/Eltl6BadxulHaoDNVzBgx5W8XO7Ac1pX6\/C1hlNTM8eun3RxgZx0JCkrtbal9TDFWzfabvWPA2GvGzC3ln+YGCpQhfUr4jicCagrtfz17GxbaO66gudXcKeZ1HT1DyHTZ8+yODW438MA8t3ZU1u0tareQ8Q+PL\/ANSY7R+HD+y6FBRRW+hhpIfwRN2c9TzPuclbC5Ko3poSo8LGCTnnIxiCEDAiYAP9oXKuOlbVcGuPgCnlJz4kPl39xwK7KKCk1oaJ04TVpK5JR3K5aXnFLdduroTgRVLRvaOGD9PmqinqYauFs1PKyWN3BzDkL7NDHUQvhmYHxvGHNcNxCk54J9HV4qqTxJrXMcSxk58Mn+bj7Hqp5T8zM3Lh9c4e6\/aLBF4iljnhZNE8PjeA5rhwIRVmzU9oiIAiIgCIiAIiIAiIgCIiAIiICW1Qw2y6UF9i3bDxFMAOLd\/7ZHwXau11htVsfWPIO7ETT+dxG4LJc6CO526ajkOBI3ceh4g\/Ffn8z7tV1dJZ5Qx1RREtYx7hhx4jJJwd2MdhzyropTSv0POrTlQlLCubTzOpTyttcf37c2me61n9PTluC3kDjlux7bl2NPWaeCaW63Ih1dU7y3H+mOnqvVo02KSqdX3Cf7ZXOOds\/hZ6fz0XdXJz6InQoNWlPpou+77\/AAERFUbgiIgCxVNNFWU0lPOwPjkbsuaVlRDjSasyY0rPJSVdZYqiTaNK7MOeJbnf8wfdF8vbW0OrrVXNGyZyYnnkeA3+zv7IrJ557mbh3hTpv\/V+2qKhEUpV1tXqmsfb7a8xUEe6eox+PsFGMbltWqqa3b0Rv12rrVRTeCJH1EnSFu0B7\/TK8UmsbbUyiKUS0zjwMrQBz557LoW2y0FqZikgDXYwZHb3H3WS5WylutKaeqiDx+V3Nh6gqV4aWKsPEWvdeVvybTXBzQ5pBBGQRzX1Tml6qoglqbLWue6akd\/lvcc7TO3tgjsVRqMlZ2LqVRVI4giIolgREQBERAEREAXE1LZvvGhM9MzZroPNE9m5x6jPyXbRdTad0QqQVSLjI5Wnrw28W4SO3VEfkmbjGHdfddVS93tlRZ6118tA38amDG545kfv8V3LXdKe7UTaqnO47nNJ3sPQqUkuZaFNGo7+HPmXv3NxERQNIREQBEXxzg1pc4gADJJ5ICZ1Ria9WSmafOZ9o9hlv0PwReLUTe9W1F2bvpqRvhQuyfMcY3dsFx9wisk7WRkoxVRyqPq8vtkburbi6jtQp4XYqKt3hxgHBxzPyHut+zWyK022KljGHY2pD+p+N5XGe1t110GubtRW6LOCMefl67yOnD406SyikdpLHUlUfTJfn3CIirNRL3cfYdZWusa1uKnMTu54Z\/7h8FUKY1duuFlcNxFTuPTe1U6nLlTM1HKpUXde6CIigaQiIgCIiAIiIAiIgCkbjQ1GmLkbvbYy+jk\/qIAdw7+nTp6KuXxzQ5pa4AgjBB5qUZWKatJVFs1ozBQ11PcaRlTTSB8bx7tPQ9CthRtW2o0fdjV08ZfbKl2HxN\/Ie3fp8FWUlXBXUzKmmkEkTxkELso2zWhGjVxXhLKS\/l0ZkRFA0Hxzg1pc4gADJJ5KSrLhW6pnfb7T\/lULTiepcPxDoO3biey93u4SX6oFktLw5jiPtE4PlaN+7vw\/ZUdBQwW6jjpadgaxgx6nmT3Vi+hXepkk3Xk4xf0rV79v2ebdQQ2yhjpKceRg4ni48yUW0irbuaklFWRMWP8A4wvPt81TqYsm7WN4B3EgHHuFTqc9TPwvI\/N\/IREUDSTGpsz6gsdMN+Jttw7bTf2BVOpakxddcT1Y80FFH4bHcQXcP\/JyqVZPJJGah9Upz3fxkERFWaQiIgCIiAIiIAiIgCIiAx1FPFVQPgnjEkbxhzXcCpSCKt0ndWwRsmqrZVPw0NG05jvr8x6KrmnhpojLPKyKNvFzzgBTtTq11VUfY7HSuq5iceI4EMb39O5wrIX06GTiPDTUm7S6b+h3K+5UltpvHq5hG08AeLj0AU26e7auzHTNNBbeD5HfilHTv6cOpK2aHS8lTUCvv0\/2qoO\/wfyM7d\/QbvVUjWhrQ1oAAGAByS6jpmxhqVufKO3V+f6NS2WqktNN4FJHsg\/ied7nnqStxEUG76mqMVFWWgREXDpMREUP+IErXHArKfI9f40qnUvq5r6Krt14jGfs8uxJx4HeOHLiPdUkNRDUAmGVkmACdl2cZ3hWSzSZloPDOcO9\/UyLhamvRoIG0VG4ur6khsbW7y3Jxn34Bd1T9x0lT3C4yV4q54JZCM7GMDAxu+C5DDf6ifEeI4Wp6m5p+0Ms1sZBxlf55T\/uxw9Auopc6dv1M0ij1A944gTA\/Ur5946otX9ZQNuEYBy+E4P9hu+HwwV1xxO6ZVCr4UVGUGkvv8FSinabWtsleI6hk1LJnBEjdw9wu5TVdPWRiSmnjmYRnLHAqLi1qi+FanU5XczIiKJaEREAREQBERAaNzvFFaImvrJS3bzsNDSS7HHC4btTXK67UdjtryM4E8o3fQH1KpZ6WnqQ0VEEcuyct8Rgdj0ysqmnFLQonCpN81l219SYpdIuqpBU32skrJT\/AMsOIa334\/DCoKSjpqGEQ0sDIWDk0Yz69VnRccm9SVOjCnyrPfqERFEtCIiAIiIDXrqOK4UMtJMMslbg9jyPsd6\/OqC4Vemb46KYHZjPhzM\/U3r8MEHov01cLUmnY7zB4sWGVcY8juTx+kq2nJLJ6MxcXRlO1SnzI7UUsc8LJonh8bwHNcOBC9qM0fdpaWofZK4OY9pPhB+7ZPNv7hWahOOF2L6FZVYYkERFEuMNTR01YwsqYI5WkYw9oK4dToyhdL41BNNQzZyHRuJA9uPHuqJFJSa0Kp0adTmRKuqNR2ANdUhtzpBgF7fxtyR79evFdm032hvLHGleQ9n4o3gBwHXHRdFcO66bjq6k19DM6krhv22cHeo691K8Za5FWCpSzg7rZ\/hncRcqy1l1nMsN0oRC+LhM0+WTiNw9v\/i6qg1Z2L4TU43QREXCZoV9DV1VXSTU9e+njgftSRAbpRkHB39se630RduRUUm3uERFwkEREAREQBERAEREAREQHB1LYRcIPtlK0troBtMc3i\/HL16L1p3UUd2i8CfEddGMPjIxtY5j6LuKT1Np2YT\/AHxatptQw7cjGcSf1Dv1HP52xaksLMdWMqUvFprzW\/fzKxFNad1bFc3NpawNhqcYa7PlkPboeypVCUXF2ZopVYVY4oMIiKJYEREAREQBERAEREAREQBERAEREAREQBERAEREAREQExqHSEVwJqaAMhqeLm8GyfQ\/P+6x6arrzT1\/3Tc6aVzQ3ySOA8gA6\/mB4cVVorMbw2Zl\/poqp4kHZ9dmERFWagiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "NELSON DELGADO ROJAS",
    "correoContacto": "nelson.delgado@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56996284827",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"29024\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "10:37",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "10:31",
    "horaDespacho": "10:33",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 10:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 10:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 10:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3101', 1, 9291721, 0, NOW(), 
				'10:33', '10:31', '10:37', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781620614.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 10:36:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200728
[16/06/2026 10:36:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200728', 'TOS-I1145', 2)
				
[16/06/2026 10:36:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29024 and
				    IDproducto = 'TOS-I1145'
				

16/06/2026 10:36:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1145';
                
16/06/2026 10:36:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200728'                    
				WHERE idllamado = 13039			
				TO ENVIO: micorreo@miempresa.cl, nelson.delgado@eplicancabur.cl, dsprint@gmail.com


16/06/2026 10:36:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13039			
				
16/06/2026 10:36:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:36:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:36:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:36:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:36:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:36:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 10:37:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:37:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

[16/06/2026 10:37:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:37:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:37:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 10:37:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13039
            GROUP BY l.idllamado;
            

16/06/2026 10:37:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:37:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13039
                

16/06/2026 10:38:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:38:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:38:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:38:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:38:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:38:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:38:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:38:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:38:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:38:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:38:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:38:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:38:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:38:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:38:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:38:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:39:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:39:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

[16/06/2026 10:39:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13044
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 14:45
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => EZ231
            [SerieInternaMaquina] => RIS1676
            [MarcaMaquina] => RISO
            [TipoMaquina] => DUPLICADOR
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:39:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:39:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 10:40:41
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-hfDGTjo9KQL1AqYCfb9kfDhYAChjTHjbPqfRdS9UQ3Z8iMiLqTj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "RIS1676",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "1341940",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13044",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABpALwDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMHAgH\/xAA+EAABAwMCAwYDBQYEBwAAAAABAAIDBAURBiESMUETUWFxgZEUIqEVMlKxwQczQmLR4UNy0vAWIyQlNLLC\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMBEAAgECBQEFCAIDAAAAAAAAAAECAxEEEiExQVETMmGR0RQiUnGBobHBI0Ji4fD\/2gAMAwEAAhEDEQA\/APZkREAREQBERAEREAREQBERAEREAREQGagv1a\/WTrXIGNp\/ma0cJycAuBz6LSrzq91PwGun1LdhHLG4+XC3P6r0VW1I2s0Y8LUcnOLezYREVRsCIiAIiIAiIgCIiAi3K4Q2uhkq5z8rMbDmSdgFQQnVF5AqWTRW6ne3LGc3OB5Hv\/LyX1qovrrlbbO12I55OOXxA8vDi+i0zWhrQ1oAAGAB0VndSfLMjTrVHG7SXTlmZhvVys9cylvrGfDPPDFVsGxx3\/7ytMCCMg5BUS626K62+Skl\/iGWu\/C7oVVaSuEstNLbavPxNC7gPF1byHtjHsjtJXR2DlTqdnJ3T29DQoiKs1BERAEREAREQHnV9gdWXS9T8X\/jFh4e\/wC638lu7ZVCttlNUhwPaRNccd+N\/rlZuyU\/x1ZqVmAe2e6NpPiX\/wBlO0VUGbT7Yj96CRzCDz7\/ANVfU1jboeZhdKl\/iv8AZmgREVB6YREQBERAEUeKtp5qqWlZJmaEAvYWkEA8uakIcTT2CIiHTMOxP+0RuRn4em28Nj\/q+q06zFEeL9odwzvw0ox4bR\/1WnU58fIzYf8As\/8AJhZe5D7K1lRVzMNjrm9jJtzdkDfu\/h9lqFm9bxO+yYaqPZ9NO1wd3A7fnhKfet1GKX8eZbrXyNIi5wyieCOVvKRocPUZXRQNO4RUmo7tUUDKeloOA1tXIGRh2+B393PA3\/RNP3WrrJauiuAjFVSvwTHtxDvx+vipZXa5T28O07Pku0RFEuC+ZHtijdI77rASfIL6VXqKvjoLLVOMjRI+MsjbxAEk7ZGeeM59F1K7sQnJQi5PgrtDtL7bVVTm8JnqXHHhgfqSvnTuaDUV2tjtml\/bRjkME9PQj2VbZNRGis0Vvt9vmq6toLncLTwgknnjfYY7lFvVLfu0F6rYxTHIjIp3Yc1u\/d7blaMrcmnyeUqsY04SiruO\/wBd9Td1FfR0m1TVwwnukkDT9VXzarskLuE1zXn+Rpd9cYUO26TsklHFM7jrBIOMSOeQDnwBVrDY7VTjEdvpxtjJjDj7lVWgjcniJK6svN+hVP11aG5w2pfj8MY39yvj\/jugHzOoqwM\/Fwt\/qtGyCGL93Exn+VoC6Ll4dDuSv8a8v9lHRavtFbI2MSvge84a2ZmMnzGR9VeKp1BTWmSgfJc2xtAHyycng\/y9T5LlpA1B0\/CZy47ns+LozYBGla6EJzVTs52fy\/aKO+XGewavfWRRhzaiJnGDn5m7A48flWzhlbPCyZmeF7Q4Z5rH\/tBiZihmx8542k942P8AX3Wrt9Uyut9PVRgBssYdgfwnG49DspT1gmVUG416kL+PmSURFUbjMU+IP2h1XFt8RSjhz12b\/pK06zF2\/wCj1ta6oj5Z2dj67j\/6atOpz4fgZsPo5x8X99QqfVjQ7TNYD3NPs4KZBdKSouM9BG89vAAXtLce3f09woWrXhmmawnqGgergkU1JEq0k6M2nwyTYnZsFC5x5U7N\/ABRq3VVnojwuqe1d+GIcX15fVZ61UN01HRwwzzPpbZAwRgM5ykAZ8\/M7Dp1WpoLBbLcwCCkjLh\/iPAc4+p\/RSkop6lFKpVqQWRWXV+hlKnU1JU6mobl2c7aaBjmkPYM5IIyME55j2VjZaqOo1vcnQS9rE+AEOHLbg\/UlTtWWx1fbWzRfvqV\/aNydiOvPbx9FkLDeoLZeKis+FdiWNzY4It8OLmkDfpsrElKOhlnKVGslUel73+lj0xVly1DbLVltRUAygfuo\/md\/b1wqOQ3+7yNNZVMs1K7cM4+F5Hvn3x5KPS1mk7PPljZqyYb9s5ofvnpyH0Vap9dfkap4p8aLq\/TcmOueob2\/gttIaCmP+PMNyO8ZH5A+ah3vSraOzzV8lbNU1bMF75TkEZxt169StLRX+13B4ZBVsLyeEMd8pJ35Z58lw1XLG2wVELngSTANjbzLzkHAHouqTUkkrEZ0oSpSnKWZ2\/6xOtZhdbKd9PGyON8bXBrBgDIUiWKOeF8MrA+N4LXNPIhRLLE+Gy0cTxhzYWg+ynKp7m2GsFfoZNsNy0pUP8AhoH1ttkOezacujJO2Pp5+CknXNqA3iqwcZ4ezGeWe9aNfJjYXcRY0u78bqeZPvIoVGcNKcrLo1cyrzX6tqGsa2eitQHzk7Ol39unp4rvJpOpY\/NFfaumZgDhyT+Th4+60qJ2j4Hs0HrPV9dvwZyl0bStn+IuFVNXy53MnI7dc5J91omtDWhrQAAMADov1FFycty6nShT7qsUuprJJe6WCKF7GPZLkucOTcHP6KLomd32XNRSE9pSTOaR3A7\/AJ8S0iy9Di265rKd2GR1zO0Z\/M7mfrxKcXeLiZ6kFCtGqudH+jUIiKo2Gb1vC77Khq49pKadrg7PIH++FoIJm1FPHM37sjA4eRGVCv8ASmssVZA1pc4xFzQOpG4+oXDSlV8Vp2lJOXRgxnflwnA+mFZvD5GZe7iGuq\/BA1GH2i8Ud9ib\/wAvPY1IHUdPpn2CrtcXbtnQW6B4MTmiV7ujs\/d38t\/ULX3CijuNBNRy\/dlYW5xnB6H0OCvMZqaS23aFlwHaOjLS9jDxHAOA31AHoR5KylaWr3RixuammltL7dfM9Ro4uwooIccPZxtbjuwMKrumqbdbCYw\/4ifl2UW+D4nkPzVFX1d2uEXa3KrbaKFw2j37R4\/y8z9B4Llb6WWuYYbBSGlgI4ZK+f8AeO7wD08m\/RRVNbyLZ4mT92mvXy\/bIN21Dd7o+WnINPE1pL4WbYGN+I8\/98lO0xpanuttkqa0SND34hcx2Dgcz3c9vRdLxbaa2U1NY6PMtXXyNM0p+8W5227s\/wDqfNbOmp46SmipoW8McTQ1o8ApynaPu6FNHDudVuq72\/L4+hSs0ZaQ9z5O3lLhg8chx0\/oriKipYIwyKnjY0dA0Luiocm92enClTh3VYrLhp62XLJmpmtkII7SMBruWOfXpz7lGoNI2qgkLw2Sc5Dh2xBDSO4ABXiJnla1yLoUnLM4q4REUS4IiIAiIgCIiALO6voXOo47pTAiqonBwcPw539jv7rRL5kjZLG6ORocx4LXNI2IPMKUXZ3K6tNVIOJxoKttfb4KtmMSsDsA5weo9DspCydqnGmrvPaKt5ZSTO46aV528ifp5jxWsSUbMjRqZ467rc\/CARgjIKxtmuNPpqsulvrZCyOOXjiGMk57gO8cKsrrqcMm+AtEfxla88Py7tZ\/X8h1USi0pUfaMVzu9ZHUOGXSxvbkctt+W3ljZWRVk83JmrTc5x7HVrnjUi3a+3q4W2Wqo6aSjoGgZkP35ATjY93l7qnttivc8ArqKA\/PkMkLw1w68QyR5Z81fV1RJq2uFsocst8DuKacDmRnGP09+i1sUTIYmRRtDWMaGtaOgHIKTnkVkimOH9om5Sk2lz4+Hgef01hvdJP8VUWWOscDxEyzBxJ8g\/f1BV39ramnjEVLZGU7m\/KTIdh5ZwO\/vWoRQdS+6NEMIqatCTXl6FHZtPOoal9fX1HxVa8n5yNmc+XXkVeIirbbd2aqdONOOWIREXCYREQBERAEREAREQBERAEREBDulrpbtSGnqmZHNrhzYe8LH3Ck1Pa6I2+F0s9GPuyQjLuH8JxuAt4inGbiZ62HjU1vZ9UYe23ZltpxBabBUPqXDDnyAlx8TgZx4bBTvsrUN7P\/AHSrFHTnnBD\/ABDu2P5lapF11OUiuOF0yylddFovsRqCgp7bSMpaVnBG33ce895UlEVe5rSSVkEREOhERAEREAREQBERAEREAREQBERAf\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "CARLA UBEDA FLORES",
    "correoContacto": "carlotaubeda75@gmail.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"RIS-I90\",\"id_control\":\"29031\",\"cantidad_usada\":3,\"cantidad_asignada\":3},{\"id_inventario\":\"RIS-I91\",\"id_control\":\"29031\",\"cantidad_usada\":3,\"cantidad_asignada\":3}]",
    "horaSalida": "10:41",
    "ubicacionGPS": "LatLng(lat: -22.1086119, lng: -70.2099293)",
    "horaLlegada": "10:34",
    "horaDespacho": "12:51",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 10:40:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 10:40:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 10:40:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'RIS1676', 1, 19969062, 1341940, NOW(), 
				'12:51', '10:34', '10:41', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781620841.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.1086119, lng: -70.2099293)' )
				
[16/06/2026 10:40:41] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200729
[16/06/2026 10:40:41] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200729', 'RIS-I90', 3)
				
[16/06/2026 10:40:41] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29031 and
				    IDproducto = 'RIS-I90'
				

16/06/2026 10:40:41 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'RIS-I90';
                [16/06/2026 10:40:41] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200729', 'RIS-I91', 3)
				
[16/06/2026 10:40:41] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 3
				WHERE
				    IDcontrol = 29031 and
				    IDproducto = 'RIS-I91'
				

16/06/2026 10:40:41 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 3)
                WHERE ID = 'RIS-I91';
                
16/06/2026 10:40:41 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200729'                    
				WHERE idllamado = 13044			
				TO ENVIO: micorreo@miempresa.cl, carlotaubeda75@gmail.com, dsprint@gmail.com


16/06/2026 10:40:41 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13044			
				
16/06/2026 10:40:41 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13044
            GROUP BY l.idllamado;
            

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:40:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:40:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:40:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13044
                

16/06/2026 10:42:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:42:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:42:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
 
16/06/2026 10:42:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)
           [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:58 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

[16/06/2026 10:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:58 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

[16/06/2026 10:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:42:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:42:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:42:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 10:43:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:43:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 10:43:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 10:43:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:43:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:43:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 10:43:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 10:43:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 10:43:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:09 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 10:43:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:43:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:43:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:43:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
 
16/06/2026 10:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            
           [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:43:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 10:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 10:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:51 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:52:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 10:52:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 10:52:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:52:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:52:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:52:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:52:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:52:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:52:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:53:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 10:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
 
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                
           [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 10:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 10:53:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:53:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 10:53:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:53:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:54:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 10:59:28 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 10:59:28] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:59:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:59:28 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 10:59:28] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 10:59:28 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => REPROGRAMADO
            [ClienteRazonSocial] => TRANSMAT SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76270521
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640IDW
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 10:59:28] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 10:59:31 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 10:59:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:59:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:59:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:31 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 10:59:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:59:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:59:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:32 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 10:59:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:59:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:59:33 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 10:59:33] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 10:59:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13043
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 13:16
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 12576383
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3090
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 10:59:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:00:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                
=========================================
FECHA: 16/06/2026 11:01:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-u0TK3X4Uqhgc.OJ+V+Z+6_i38x3.LpeTTLbM6_5RZO7snKQ24M.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "12576383",
    "serieinterna": "TO3090",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se hace entrega de insumos mediante starken\n•Número de seguimiento: 272422445",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13043",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACNAWADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABHEAABAwMCAgYGBQcMAgMAAAABAAIDBAURBiESMRNBUYGRoRQiYXGxwRUWMkLRIyQmM1JkcjRDRFVic5KistLi8KPhwtPx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAxEQACAQIDBQYGAwEBAAAAAAAAAQIDERIhMQQTMkFhFFFxkaHRIjOBscHhQmLwUiT\/2gAMAwEAAhEDEQA\/AP2ZERAEREAREQBERAEREARRKq6UFD\/KayGI4zwueM+HNU0+tqIvMVBTVFbJ1BjeEH5+SsoSeiMp16cOKRpF4SAMk4AWXFRq25\/qqeG3Rk\/af9rn7cnyC9bo6aqLXXa71FSQN2NOw9xOfgFbAlqzLfylwQb8ci2qNQ2il2luEOexjuM+WVWS64twJZTQVNQ\/qDWYB+fkp1LpazUoHDRMkcBu6XL89x28lZxQxQN4IYmRt7GNAHkl4Im20S1aXqZs6lvM4\/NdOzjsdJxY+A+K99M1jP8AZt9LAO1zhn\/V8lp0TGuSG4m+Kb9F+DMej6zl\/ptHB3A\/\/Ep9E6qf+svcTc8+FvL\/AChadFGN9yHZlzk\/NmY+g9Sf1\/5FBadVQnMV6ifjfEjf+JWnRTvGOzQ5N+bMuZtY0WC+GmrWtO\/DgEjy+Ck0GqoZKoUdyp32+p2AbJnhcfYcbd\/ir9ZfWlXRmjbQ8IkrpHt6INGXR789t9+WPapi1N2aM6kZUIuanpyef7NQi40bJIqKCOU5kbG0P3zuBuuyyOxO6CIiEhERAEREAREQBERAEREAREQBERAEREAREQBEXGoq6akZx1NRHC3te8N+KENpZs7Is7U60tkbhHSNmrJCcNbGwjJ7\/wAFH9P1VdTikomW+I\/fl54x7d\/AK+7lzyOd7TTvaOb6Zmoe9kbC+RwY1oyXOOAFTVurbPRhwFT07x92EcWe\/l5qGNISVjhJeLrUVT+fC04a33Zz5AK4orJbLeQ6mo42PHJ5HE7xO6m0F1IxV56JR8c36e5TfWG+XA4tllLWHlJUHAI7eoeZXhsWobk3FyvHQsPOOAc9uvGB8VqUTHbRE9nxfMk36L0KGl0bZ6ch0kT6l4OeKZ+cn3DAVzBTQUzOCngjhaeqNgaPJdUVXJvVmsKUIcKsERFU0CIiAIiIAi+XvZGwvkcGNaMlzjgBUdfrC10ZLIpDVy9TYdwT\/Fy8MqVFvQznUhTV5OxfKJW3Oit0fHV1LIh2E5J9wG5VA6TU98LeijFqpXD7Rd65Hx8gpVHo22wPMtWZK2YnJdK44z7uvvyr4UuJmO+qT+XH6vL01Ikt\/ul7kdBYqV0cPI1Ugx4dQ8yrKzacp7Y41MzzVVr93zybkHrxn481bta1jQ1jQ1o5ADAC+lDnlZZFoUPixTd36LwQREVDoCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKm76jorNK2Gds0kr28TWRs+ZwFWnU10rvUtdkmJcPVkm2aPb1Dt61puBnHx8I4sY4sbr6V04rkYSp1JPjsui\/Jl\/ojUtxPFXXcUjD\/ADdP1Ds2x8Su1Nom2Ru6SqdNVvPMyPwCe7fzWiRN5LkVWy073krvrmR6WhpKJvDS08cIxj1GgZ96kIiodCSSsgiIhIREQBERAEXy1zXt4mODh2g5UWtutBbhmrq44jjPCTlx7hupSbIclFXbJiLMSaulq3mKy22arcDgyOaQ0e3b54Xn0Zqa6\/y+4MoYtj0cAy7Pd+JV8DWuRz9pi8qacvDTzLe4X222xrvSapnG3+aYeJ\/h1d6qDqS63M8NltL+HmJqjYEeQ8yp1v0paqAl5h9JkP36jDvLkrkAAYAwAl4rRXIw1p8Twrpr5mYZpevuTi++3SSQE5EMDsNHiMeA71d0Fot9tH5pSsjdjBfjLj3ndTUVXNs0hQpwd0s+\/mERFU2CIiAIiIAiLxzg1pc4gADJJ6kB6iztZrGkZKae3QS18\/UIh6vjzPcFwbHq65tbIZobdGebMet8CfMK+B88jme0wvaCcvD30NSiqLTbKy2SSS113kqxIAA2TIDT7MkqxFXTF3CKiIu7OMZVWu42jJtXkrHZERQXCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALP6rvrLZRPpGdIKmojIY5uwaOROVoFk6iJt91sIZPWprcwFzSNnO7PEjuarwSvd8jm2mUlDDDV5GapL5XMoGULbg6kgjzuxpLnZOdjz8x1KZTVemKd\/STQV1wndgl0wGCfdn45W9Zb6KN3Eyjgae0RNHyXZrWsGGtDR7BhaOquSOWGxTVryTt3q\/wCTLs1VUloZQadqXR49XALRjq2DSvr6e1FIcR6fc3+Mnn5LUIqYo9x07mpzqPyRmPpLV7\/sWambjnxOH+8J6drP+qaP\/GP\/ALFp0UY13IncP\/t+nsZjpNZv26Cjj9uR+JT9M\/3PyWnRTj6Idn\/vLzMx+mf7n5J+mf7n5LTomPoh2f8AvLzMx0us4t+go5vZkD5hPpTVkX62ywP\/ALt3\/IrToox9EOzvlN\/76GY+st5h2qNOTu7TGXYH+Ur7Zraha7grKWqpX4zhzM\/++eerqWie9kbC+RwY1oyXOOAFQ3TVVlp2FuWVsjeTGN4h\/iO3hlWVpfxM546Su6nml+ixor3bbg0mmq2OwMkHLSPfn3FY286hZd6x0EtQ+C3RHdsQy+U\/Dzx71VuqKytrJq6kpmQBjCX+js4WxtO2+P8ApWw0vYLdFbaevMYnnlaH8b9ww9gHVjxWmGNPNnIqtXavgWS59UQaGe5vhEOnrKKKLI4qifHE4dpzz81L+rd7qx+fX+RuRgshzg+Y+C1CLJ1HyO1bLG1pNv0XkjMt0JbScy1NXIfa9v4LodD2YtxicHt6Tf4LRIo3ku8v2Wh\/yjLnREMO9Dc6undzzkHft2wub6y9aYkaa95uNA446XfiZyGTz8OvPNaxQL5JFFY6105AZ0Lhv1kjAHiQpU23Z5mc9nhCLlT+Fr\/aEuCeOpgjnidxRyNDmntBXRU+lWys07SiXOSHEZ544irhUkrOx005OUFJ8wiIoLhERAEREAREQBERAEREAREQBERAEREBHr6tlDQT1T9xEwux2+xUujKZ7bZLXzZM1bKZCSOYz+OT3r41jNJNDSWmEEyVsoBI6gCPmQe5aCmp46Wmip4hiOJgY0HsAwtNIeJy8dfpFer\/AEdURFmdQREQBERAEXKoqqelj6Somjib2vcAqKr1pboniKjjlrZSQAI24B8d\/JWUW9DKdanT4nY0S5zTRU8ZknlZEwc3PcAB3lZptRq267xQRW2I\/ekHreByfIL7i0Y2eTpbrcaitd2cRA5+0k\/BWwJasy385fLg\/rl+ztW6ztdMSynMlXJvgRN2z7z8sqP9J6num1FbmUMZziSf7Xn+BV9R22ioGcNJTRxDrLRue\/mpSYorRDdVZcc7eHvqZhukJax3SXi6T1Ts5DWHDW+7PyAVdNR01dc\/oWxRtghaPzupbuSOzi5kdWOsq41Ld5YTFaaDDqys9TIO8YO2fZnPPqxlT7JaIrNbm0zMOkPrSSAfad\/3ZWxNK7MHRhOeCC01fPwv9zpDaaOntj7fBEGRPYWnbJOes55lUukqp1IaixVLsT0ryWdjmnc479+9adU17sDbk9lXSyej10O8co2z2AqkXe6Z0VKbi1OmtOXQuUWXZqautfDDfbfI31iPSIhlpGT1f++XV22dPqWzVLQW18TCRylPBjxRwki0dopyyvZ9zyLVFAkvdqi2fcaYHsEoJ8lX1esbZC4R0vSVsrtmthb19mT8sqFCT5FpV6cdZIvnODWlziAAMknqWSrah2rLs23Uhzb6Z4fUSg7P9g88ePUvr0XUGo3YrT9HUJ5xAes8dhHPxx7lorfb6a2Uraalj4GDc9rj2n27K2UPEweKvla0fV\/o7xRMhiZFG0NYxoa1o6gOQX2iLM7AiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDzAOMjlyXqIgCLwkAZJwAqev1VaKAEGqE8gGzIfWz38h4qUm9Ck6kYK8nYuVzmmip4zJPKyJg5ue4ADvKzLrxqK7Ei1W70WE8ppxuR2jO3kV0j0i+reJbzcp6twOQxrsNHaP\/wAwr4EuJmG\/lP5cb9XkjpWazt8MvQ0jJK2XIAEQ9U+49fcFG6bVl3GI4Y7ZC4Hd+zufeQe4LR0lvo6BnBSU0cIxg8DcE+88ypCYorRDc1J8c\/osvXUzUGi6d8vTXOsnrpScnLi1p+fmr2kt9HQM4KSmjhGMHgbgn3nmVIRVcpPU1hRp0+FBERVNQoV1udPaKF1VUE4Bw1o5ud1AKTNNFTwvmmeGRsGXOcdgFlKOKTVt4dW1TXC2UrsQRkbSHPX4ZPgrxjfN6GFao42jDienuS9MWyodLLe7lk1dT9kEY4WbdXVy8PetIiKJSxO5elTVOOFBERVNDxzQ5pa4AgjBB61W1GnLPVOLpbfFlxySzLM+GFZopTa0KyhGXErlNHpKxxjHoId7XSOPzU+lttDRHNNSRROxjiawA496lIpcm9WVjSpx4YpfQIiKpoEREAREQBERAEREAREQBERAEREAREQBERAEVNqK+vssMXRUpnkm4uHf1W4xufELPW83jVU80dRcJaWCMbtjYWh2c7bfMrRQbV3octTaYxnu4q8jVXC+W62MJqalnGNujYeJ5Pu\/FU51RcLhIY7NaZJG5wJ5chvv7B4qbQ6RtFCQ\/oDUPH3pjxeXJXQAAwBgBLwWmYw158Twrpm\/My0embjcx0l9uUjg4h3QRHZvyHcO9XFFp+1W88VPRsD\/ANp\/rHzVkihzky8Nnpxd7Xfe82ERFQ3CIiAIij1dwo6BnHV1McIxkcbsE+4cympDaSuyQo9bX0tupzPVzNiYOWTuT2AdZWdm1TWXKZ1NYKF0p5GeQbN9uOQ7\/BdaHSjpaj0y+VJrp8bRkngb+Pu5LTBbiObfueVJX68v39CNmq1lV8n09oid17OlP\/fBaqGGKnhZDCwMjYMNa0bAL6a1rGBjGhrWjAAGAAvpVlK+XI0pUsF23dvVhERVNgiIgCIiAIiIAiIgCIiAIvl8jIxl72tH9o4UGa\/Wmnz0lxp9uYa8OPgFKTehWU4x1diwRZ+bW1li+xLLN\/BGR\/qwo\/1wqJsehWOrmB2BORv3Aq27l3GL2qiv5X8M\/sahFlzcNW1Y\/IWuGmaeTpDuPE\/JBZtT1Z\/O722AHqgG48APipwd7I7Q3wwb+lvuahRxXUZnEAq4DK44EfSDiPcs+NGOm2rrzV1A7M4+JKsbfpe1W2Zk8MDnTM+y+R5JHdy8lDUVzJU60nw2XV+xboiKh0BERAEREAREQBERAEREAReEgDJOAFX1N\/tNJkTXCEEcw13ER3DKlJvQrKcY5ydixRZmXWsMrjHbLfU1kg7G4Hv2yfJc3O1bdThrIrZCQdyfWx5nPuwr7t88jB7VB8F5eH+saWepgpYzJUTMiYPvPcAFS1WsbZFJ0NKJKyYnha2JuxPvPyyuMGi6d8vTXOsnrpScnLi1p+fmrykt9HQs4aWlihHa1oBPvPMp8C6kXrz7o+r9jPGbVV5AMMTLZTubzcfWPzHgFJpNH0bJRUXCaWvn+8ZXeqT7uZ7ytCijG+WRK2aN7zeJ9fbQ+IoYoGCOGNkbB91jQAvtEVDpCLlLUwQAmaeOMDnxvAUOW\/2iDPHcafbqa8O+ClJvQq5xjqyxRUUusrJHnhqXyEdTInb+ICinW9PKeGit1XUO7OED4ZVt3LuMXtVFfyRp0WX+sOoKjHoun3sB3\/Kk8u\/CfpnUu\/olIMew\/wC5Tu3zZHaYvhi39Pc1C8c4NGXEAdpWYGn7\/UE+lagewHYiHO48l6zQ9K88VZX1VQ4nJ9YDPjlMMebG9qvSn5tfsuprxbIBmWvp2+zpAT4KBNrGyRA4qnSkdTI3fMAJDo+yQjeldKcc3yO+RVhDabdTnMNDTsOc5EYz4p8HUf8AofcvN+xRu1vDKS2ittVUuzsMYz4ZXv0zqaq2pbGIQeucnbxwtMAAMAYAXqYo8kN1VfFU8kl7mXFNrKpOX1lNStPNoAJHkfih0vdZxiq1DUEfssBxnxWoRN4+Q7NB8Tb8WzNM0NbieKoqKqd3a54HyU2HSlkhxiha4g5y9znfEq4RQ5yfMtHZqMdIojwUFHS49HpIYsfsRgKQiKhskloEREJCIiAIiIAiIgCIiAIvlwLmFoOCRjPYsTUafrqoEVF7nlB5h7SR4cSvGKerMK1SULYY3NZPd7bTZE1dTsI6jIM+CgT6vskAOKsyuH3Y2OOe\/GPNZn6m\/v8A\/wCH\/ku9JpCUTNbFdDE4\/fbDuO\/iytMFPmzje0bU3ZQS\/wB4lkdXVdZkWuy1Ew6nv2HgPeOtP0xrTjFLQNPXsTj\/ADINI1hHrahqye3f\/cvTomGRuJrlVv7\/AMUvBaDDtMuK\/ml9jm7SxnIdeb5LNjdzA\/hAPeT8Au8Fs0nQDiMlG845zTh+e4nHkjNC2huMuqX4\/akG\/gFJZo+xsOTRl38UrvxUOa72WjQmndQX1bf4OjdQWGkZ0cdZTsYD9mMbeQXKTWNjZyq3PP8AZid8wpLNN2aP7NuhP8Q4viu8dptsX6u30rfaIW\/gq\/B1Oi20f1XmUz9dWsHhihqpXdQawfivn63Vcu9Lp+smadwdxkduzStKyNkYwxjWj+yML6TFHuG7rPWfoZf6c1LMfyNg4AOfSE\/PCF+s6jH5Kkpe8H5uWoRMa5JDcSes39vwZc2bU9Rj0i+sj\/uRj4AJ9Tppj+d3yrnHXzHxJWoRN5LkOy03xXfi2ZyHQ1ojxxmeXA34pMZ8AFMi0rZIcFtAxxH7bnOz4lW6KHOT5lls9GOkV5ESG1W+nx0VDTsIOQREMqUAAMAYAXqKl7myilogiIhIREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "HEIDI PATRICIA CAVIERES ARAYA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "HEIDI CAVIERES",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1047\",\"id_control\":\"29026\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:01",
    "ubicacionGPS": "LatLng(lat: -23.7673712, lng: -70.3266695)",
    "horaLlegada": "10:30",
    "horaDespacho": "09:36",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:01:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:12576383

[16/06/2026 11:01:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('12576383', 'TO3090', 1, 24456550, 0, NOW(), 
				'09:36', '10:30', '11:01', 10, '•Se hace entrega de insumos mediante starken
•Número de seguimiento: 272422445', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781622061.png', '', null, 'COMPLETADO','LatLng(lat: -23.7673712, lng: -70.3266695)' )
				
[16/06/2026 11:01:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200730
[16/06/2026 11:01:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200730', 'TOS-I1047', 2)
				
[16/06/2026 11:01:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29026 and
				    IDproducto = 'TOS-I1047'
				

16/06/2026 11:01:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1047';
                
16/06/2026 11:01:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200730'                    
				WHERE idllamado = 13043			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, dsprint@gmail.com


16/06/2026 11:01:01 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13043			
				
16/06/2026 11:01:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13043
            GROUP BY l.idllamado;
            

16/06/2026 11:01:03 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:03 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:03 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13043
                

16/06/2026 11:01:10 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

[16/06/2026 11:01:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:10 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:10 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:01:14 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

[16/06/2026 11:01:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:14 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:14 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:01:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

[16/06/2026 11:01:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

[16/06/2026 11:01:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

[16/06/2026 11:01:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:19 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:19 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

[16/06/2026 11:01:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:01:24 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:01:25 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:25 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:25 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:01:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:01:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:01:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:13:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:13:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:13:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:11 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:13:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:11 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:13:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:13:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:13:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

[16/06/2026 11:13:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:13:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:17 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:13:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:17 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:13:17] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:13:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13030
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:21
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3123
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:13:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:13:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 11:14:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-YNEUFqX3177.pd4WIPGh4zg1GVbYOaLtbxojnuIZYXrolz8wmDi
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3123",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13030",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABkAP8DASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABFEAABAwMCAgcFAwgHCQAAAAABAAIDBAURBiESMRNBUWFxgZEUFSKhwTKx0RYjJEJDUsLhBzNyk6Lw8TQ2RFRic4Ky0v\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EAC8RAAIBAgIHBgcBAAAAAAAAAAABAgMRITEEEhMiMkFRcYGRobHhFCMzYcHR8FL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIoq76gpbU5sJa+oqX\/Zgi3d3Z7FKTeCKznGCvJkqirA1NdIMT1tjmhpduJ++WDtIwp+irae4UrKmmkD43jY9nce9S4tZlKdaE3ZZnQiIqmoREQBERAFpqqmGjppKmd\/BFGMuK2ucGtLnEAAZJPUqjUSS6uvPssD3C00xBleNhIf88vVWjG+eRjWq6issW8iU0\/cq27uqKyRrY6Qu4YWEZdtz3\/l57KbWEUUcELIYmBkbAGtaOQCzUN3eBenFxilJ3YREUFwi4LleqC1MzVzhrsZEbd3HyUGy4X3Ubj7uaLfRZx0zx8bvD+XqrqDeJhOvGL1Vi+iLHVXCjohmqqooc8uN4GetRsmr7HH\/wAbxH\/pjcfotFHo23QkyVhkrpicl8riBnwB+\/KlI7Na4vsW6lHf0TfwU7iK30iXJLzIw62soOBLKe8RlefltZv35v7sqZbQ0bRhtJAB2CML32Kl\/wCWh\/uwovDoNXSP9Lw9zhtOoKS8TyxUzZGmJoJ6RuOtSqxbGxhJYxrSeeBjKyVXa+BtBSS3ndhERQXI73xH7+909E7j6PpOPOykVWNRl1FqGz17XuwX9C8Z2AJH0cfQKzq0krJowpTblKMuT8giIqm4REQEZqC7C0WuScEdM74Ygcfa7cdy5dO2Q0UZr60mW4VA4nvdzZn9Xx7VwZOo9WkcXFQ20g8PU94\/n8m96ti0e6rHJT+bUdR5LBflnjmhzS1wBBGCD1qp0zfya1UKJpIobgMxt3wx+cAeu3gQraq5rWF\/uuGuiyJKSYO4s8gdvv4UhnbqW0lWjtFnHH9+RY0WqmnZVU0VRGcslYHDwIW1ZnQndXQREQkIihtTXc2q28MO9TUZjhA5g9bh4ZHqFKTbsilSahFylkiMvVfUX+v9yWp35oH9KnG7cdngPmdlZKGhp7dSMpaZnDGweZPWT3ri07aTZ7W2GTBnkJfK4HOSeryH1UqrSfJZGNGm\/qT4n5fYIiKh0hQl+1Cy2AUtM32ivk2jiaM8JPIkD7utZ6kvLrRbwYQHVM7uCJvMg9uOvG3qFhYLALaHVdW7pq+beSQnPDnqH4q8UktZnNUnKUtnTz5vp7nNZdMtDRW3lvtNa88WJDxBg54xyJ5qxgADAGAF6iiUnJ4mtOlGmrRCIiqaBERAEREAREQFc1xAZLCJm7GCVr89x2+8hTtLOKmkhqAMCWNr\/UZXFqRnSadrm9kRd6b\/AEWOmZDJpyiceqPh9CR9Fd8BzLDSGuq9GSqIiodIUdfrj7rs89SN3gcMf9o7D8fJSKqWpKhtffYLdI7FJRsNRUkEdnXnuwB\/aV4K7MNIqOFN2zeCMtOVdPaY6a2vhmdWVY6aUtZnhDuWfLHqrWqvpKCWtqKu\/VTfzlS4ti7mjnju2A\/8VaFNTiKaJfZLpy7PfMLju1OKu01UBbxccTgBtzxtz712LwgEYIyCqJ2Z0yWsmmQmj6k1GnYA45MRdH6Hb5EKcVX0UegbcqAj\/Z6n78j+FWhWqK0mYaK70Y3\/AK2AREVDoMJZWQxPlkcGsY0uc49QHMqr2SOW\/wB6kvdS3FPCeCmiJzgjG4\/zzPct+rKt84p7JSuHT1jhx7j4WD8foe1TtHSx0VHFSxD4ImhoWi3Y35s5X82rblH19jeiIszqCIiAq7G+9NdSPeT0Vuj+AZ5u\/wBSfQK0KrUL22\/XFdFUfB7Y0GFx2DjscD5jxCtK0nyOXRspPnd3\/uwIiLM6giIgCIiAIiIAiIgNNVA2qpJqd\/2ZWFh8woPRNQ99mfTSfappnM59XP7yVYlWNLYivV8p+yo4ge7LldcLOaphWg+t1+SzoiKh0mqpqI6SmlqZncMcTS5x7gvnImnrg8NDm1N4qNg1x+GMHs7M7b\/uFWXV0jquWgs0RHFVShz+5o2\/H0WjTUMVwvlVdI4WspqcdBTADAaMYz44\/wDZbw3Y6x5mkN1aqpr+6+C9S0U1PHSU0VNC3hjiaGtHcFtRVyp1a+OqmhprTU1TIncPSMzgnG+2NlkouWR3TqQpJa2BY0VYOq7jJtBpyrce08WB\/hXdabndq6qc2stRpIOAkPc7fPZv5qXBpYlI6RTk7Rv4M4bPmDW13p+p7BJj0P8AErOqxJ+i\/wBIcZPKqpsAnuB\/+fmrOk+T+xGjYKUejf7CwllZDE+WRwaxjS5zj1Acys1XdZVb2W6KggyZq6QRtA6xtn5keqiKu7GtWps4OXQ1aWjdcayqv0+75XGOEE54Wjn4dQ8j2qzrnoKOO30MNJFu2Jgbk9fafMrXcrrR2mDpquUN\/daN3O8Apk9aWBSnFUqe8+3tOxFVW1uoNQnNAwW6idymfu947v5eqzGiy7DprxVySAfaBxv5kqdRLNlNvKWNOF11yLOiq\/5O3q3\/AB229Pk4d+inzwnu6x9y77Be5LkJaWrhMNbTbStI2Pf3eChxwunctGtvKM42bN16ssN4psHEdQwZimHNh5+iiabUdXZ5hQ6hiIOPzdSxuQ4dp7fLfuVpWqopoKuEw1MLJYzza8ZCKWFnkKlJuWvB2fk+08pqunrIxJTTxzMIzljgVuVcqtHU7Z\/abXUy0U+QR8XE3nvz3+a1e26tt2faKGGvYP14vtHyH4KdVPJldtOH1I96xX7LQiq41xBEP022VcB5bAHfs3ws3a6tYaCyGqeScACMbn1UbOXQn4uj\/osqKrO1Hd7kRFarTLGHft5hsB29nzK6KLTMhqIa26XCapqo3iQBrsMBHV4eials2FX138tX++SLCiIqHSEREAVY05\/vNfP+6PvcrOqxpr49R314GwmwfHid+CvHhZzVvqU+1+jLOiLxx4Wk4JwOQVDpKBcbiHXa7XLpA4wj2WnGBzdlpI8AHHzCtunqA22yU8D2lshbxyAnk4748uXkqTpahddL60zgmOBxmeD1uyMD1x6L6St6rtunm6CnNuq\/v7\/ruCxa1rc8LQMnJwOZWSLA9IIiICr6r\/Q7pabmAR0c3A8jrGQcenErQq\/rWmM+nnvH7CRsn0\/iUvb6ttdb6eqadpYw478jjceq0eMUzmp7tecetn+DpVWJ96a9A3MVui7CBxf6u\/wqzTSCGF8pGQxpdjwVd0VCH0FTcHnimqp3FxPPA\/mSkcE2K29OEO\/w9yeraptFRTVTwXNhYXkDrwOSrVgs4uzje7rmeSV5MLH\/AGQ0ciR9w5eqsVxom3G3zUb5HRtlGC5vMbrOjpY6GjhpYslkTA0E8zjrUKVo4ZkzpOdROXCvU3AADAGAF6iKh0BVjDT\/AEh5icMim\/OjiOc4\/DhU9cK6G20MtXO4BsbSQM44j1Ad5ULpSmlnNVeqmNrZK15MeObWZ5fIegWkcE2ctZ604QWd79yLGiIszqCIiALFsbGHLWNae4YWSIAiIgCIvDsM4z3IDmnuVHTVMVNNUsZNMQ1jCdyTyXUqZpp1FPcqmsutQz3l0ruCOUkdGOfw58Tt1AK1zXCjp4ulmqoY2YzlzwM+HaryjZ2OejW14uTsl\/ZnlxrGW+3z1chAETCd+s9Q8zgKJ0dSGCzmpkH56rkMjj2jOB9T5qOqKmfWNUKSka+G3Qv4pJ3N+24ch6Hl6q2xRMhiZFG0NYxoa1o6gOQUvdjbmUg9rV11wrLt5maIizOs0U1FS0ZkNNAyHpTxPDBgE4xyW9EQhJJWQREQkIiICvX6y3GrqH1VvrDl8XRPp5N2Ob2Ds6yuvTVBV22zspqx2Xte4tb+43Owz8\/NSyKzk2rGKoRVTaLM01cTp6OeFmOKSNzRntIwoPREwfYjF1wyuacjB33+qsSqtZbrrYrlNcLPH7TTznimpzuQevA5nux28laOKcTOteE41ErpXTLUirkWt7YWkVEdRBIDgsczOFjJrigJ4KSmqamQ8mtZjP1+SjZy6E\/FUbcRZVx3G60dqg6WrmDB+q0bud4BQLrnqi5t4aO2NomOH9ZKfiHhnHb2Lptuk4YZva7nKa+qO+ZMloPgefn6KdVLiZG2nPClHveC\/bOWkpKrVFay43BjobfEc09Py4+8\/irUAAMAYAQAAYAwAvVWUrmtKkoLq3mwiIqmoREQBERAEREAREQEZcNPWu5uL6ilHSH9ow8J+XPzXFFoqzxyB7mSygHPC9+B8gERaRk7ZnHVpU3UV4rwJ2KKOCMRxMaxg5NaMBZoizOwIiIAiIgCIiAIiIAiIgCIiA1yQQzEGWJjyOXE0FesijiBEcbWZ58IwiIRZZmaIiEhERAf\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "COORDINADOR JOHN KENNEDY",
    "correoContacto": "coordinacionpi.jfk@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1245\",\"id_control\":\"29021\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1246\",\"id_control\":\"29021\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1247\",\"id_control\":\"29021\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1248\",\"id_control\":\"29021\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:14",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:08",
    "horaDespacho": "10:37",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:14:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:14:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3123', 1, 9291721, 0, NOW(), 
				'10:37', '11:08', '11:14', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781622841.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200731
[16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200731', 'EPS-I1245', 1)
				
[16/06/2026 11:14:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29021 and
				    IDproducto = 'EPS-I1245'
				

16/06/2026 11:14:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1245';
                
16/06/2026 11:14:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                
[16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200731', 'EPS-I1246', 1)
				
[16/06/2026 11:14:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29021 and
				    IDproducto = 'EPS-I1246'
				

16/06/2026 11:14:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1246';
                [16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200731', 'EPS-I1247', 1)
				
[16/06/2026 11:14:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29021 and
				    IDproducto = 'EPS-I1247'
				

16/06/2026 11:14:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1247';
                [16/06/2026 11:14:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200731', 'EPS-I1248', 1)
				
[16/06/2026 11:14:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29021 and
				    IDproducto = 'EPS-I1248'
				

16/06/2026 11:14:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1248';
                
16/06/2026 11:14:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200731'                    
				WHERE idllamado = 13030			
				TO ENVIO: micorreo@miempresa.cl, coordinacionpi.jfk@eplicancabur.cl, dsprint@gmail.com


16/06/2026 11:14:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13030			
				
16/06/2026 11:14:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:04 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

[16/06/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:14:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:04 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:14:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:04 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:14:04 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:14:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:14:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:14:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:14:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

[16/06/2026 11:14:05] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:14:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:15:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

[16/06/2026 11:15:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:15:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:15:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:15:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

[16/06/2026 11:15:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:15:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:15:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13022
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => PROBLEMAS EN EL TACTIL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2415
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:15:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:15:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:16:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:16:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:16:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13030
            GROUP BY l.idllamado;
            

16/06/2026 11:16:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:16:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:16:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:16:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:16:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13030
                

16/06/2026 11:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:17:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:17:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:18:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:18:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                
=========================================
FECHA: 16/06/2026 11:19:34
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-p7jd6WW_fp1RwJ14-NHh8+zW861GHISiw44GCE0T4-UdZYx.2V7
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2415",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "533208",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se soluciono problema con codigo C443\nMaquina funciona correctamente\nFirmado por Margarita Muñoz",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13022",
    "observacion": "Se soluciono problema con codigo C443 bloqueo fusor\nMaquina funciona correctamente\nFirmado por Margarita Muñoz",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABbAFADASIAAhEBAxEB\/8QAGgAAAgMBAQAAAAAAAAAAAAAAAAYDBAUCB\/\/EADUQAAEDAwEGBAQFBAMAAAAAAAECAwQABREGEhMhMUFRYYGRwSIyobEUJEJx0RUjM2I0kuH\/xAAZAQADAQEBAAAAAAAAAAAAAAAAAgMEAQX\/xAArEQACAQMDAgUDBQAAAAAAAAABAgADERITITEEQSJxscHRI2GhMlHh8PH\/2gAMAwEAAhEDEQA\/APZqhly2IMZciS4G20c1GpqVLoheodUItRP5KGA49s9VY7+YHrTKLneRrVCi7cnYTtu636+\/HaWG4cbON8\/xJ\/bn9vOiQnVVrbVKMtmc02AVNBGFYHM8uw79aZkIS22ltCQlKQAkDoK6psx2EnoEjdzf+9pnWe9w7yxtx14cSAXGlc0H3HjWjS3fbCtDn9Ws+GJjOVKSgYDg68O\/3rTsd3avNvTIQAhwHZcRn5VfxXGUWuI1Oo2WnU59Zo0UUUk0QoooohIZchMSG9JXxSygrI74GawdGRcwHrm6MvzXVKKvAE++a0dRgnT04J57omudMqC9OQiBj+3j0JFUGyTM3i6gA9hf2mrRRSfftUSrdqJEdsp3DBTvE4OVA7JP05fuaVVLGwj1qy0VyaOFKN4hyNN3A3u3f8ZxQEljpxPPzPoT2NNiFpcbS4hQUlQBSR1FcvstyWHGHU7TbiSlQ7g0K2JhWpiou3I4MI77cqO2+yoLbcSFJI6ipKWNKOLhTJ9jdVkxl7bXHJKSeP3T60z0MLG07RqaiBjz7wooopZWU7s3vbPNbxnaYWBwz+k1n6Oc29MxhnJQVp5\/7E+9bD6duO4jGdpBGO\/Cl\/Qq9qwKGc7D6h+3AH3qg\/QZmbbqF+4PtGSvNdVMl3U1wUCBu0IWfH4UD3r0qk+ayF68UwtBUmXFUnBHP4Dy\/wCtdpGxJkuuTNFX7j3lrRV2My3mE8rLsUAJz1R09OXpTNXk0KTJtSmp8Z8JWVlCmwcHAwcEdjw9Ka0uXzVacJH9OtyuauJU4PDv9B+9PUp737SPS9WdMIQSwkGobrDt+qIs+IsOvNgpkoQeBHIDPfBPoK3LVqNq5SzDdiPxJGztBDg5isbUdgg2rTJ\/CtDbQ6grdVxUrpz6c+QpsiuB6Iy9z220qyfEA0rFcRKURVFZgTbg28\/8k1FFclSQoJKgCrkCedRnoTqljSf5S4Xa2qGyW39tIPUZIz6Y9aZ6V5eLbrqPI2Slqa1u1qxw2jwA9UpqibgiZq\/hZH\/Y+saKS9QvOOaqjmznezkNFtQTxCD8QyfEbXlirdzvEq8TFWixnl\/mlA4CR1wffr0rWstiiWWOUMjbdV87qhxV\/A8K6PBuZOoT1BwTgHn4ijZ7A3Ncu0CSlJmMgbtwKI2Vcc8OozitjRdzW4y5aZAw7FGUg89nPEeRI9a60xiRfL1MBykvbCTx4jJ\/gVRvYc0\/qtq6tI\/sSPnA4AnkofY1QnIlTMtNRRVaq8XIPlea2tVhOnHQealoA9c+1asPZj2uPvFBKW2UhSlcAMAc6VdaXWPKt9vSyd608rfcOGQOHlzPpVhu33XVCkv3RaocA8URkfMvsT\/J9OtJj4BeX1vrtgLmw+eZLK1JKuUkwdPM71Y4LkqHwI8ePv5A1PbNKtx5aZ8+SuXLB2gSTspPnxPn6VsxIcaBHSxFZS02n9KR9T3PjU9IXtssutDI5VTc\/gTOev1vjXUW550tvKSCCoYTk8hnv9POq+qLUbpaVbpJMhg7xrHM9x5j64q1dbNDvEctyWxtgfA6B8SP2PtWEiTqDTh3Uhk3KCgAJdT86R9+vX1rqgbFeYlViAVqC6nuO3n8y\/o\/8ILGgR0JQ6CQ+Acq2wevtV+8T02y1SJRVhSEEI8VHgPrSQm\/sW29m4W5p1LUgfmIzgCRnPHBHj71xeNUOXh5pBYKIzatrchWd4f9uHtVNIlr9plHWIlHAHcbfzGrScRNv0+h95QSp8l5alcMA8sk+HHzrH1ZqOHMhKgxWxISVDL\/AOlJHH4e58fvWe9F1JqF0ByO62yPlQpO7bRjsD\/7TDZtGxoKkSJqhIfTghIHwJPvQQqnJjvAGrVTSpLZeLmYWkY8VN7U3c0lMhCBuGnk44888euMY\/evQqV9VxlQpcS\/sNhSoywl4Y5pzwP1Iz4jtTIw83JYbfaVtNuJCknuDSVDlZpp6VdLKke35EkoooqU2woooohM682s3KEtplxDDy8De7AJx1Hfl2qOzaehWZvLSd4+fmeWPi8uwrVopsja0npIXztvCiiillJFJjty4zsZ5O026kpUPA0vaXkPQJL9gmf5GCVMr6LSeOB9\/XtTNVB+BFXeI05TQ\/EISpIXk8sHpy6mnU7EGQqIcldeR6S\/RRRSS8\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA DEL CARMEN ROJAS PEÑA",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "PROBLEMAS EN EL TACTIL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:20",
    "ubicacionGPS": "LatLng(lat: -22.0939425, lng: -70.2044782)",
    "horaLlegada": "10:52",
    "horaDespacho": "10:41",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:19:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:19:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 11:19:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO2415', 2, 19969062, 533208, NOW(), 
				'10:41', '10:52', '11:20', 4, 'Se soluciono problema con codigo C443
Maquina funciona correctamente
Firmado por Margarita Muñoz', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781623174.png', 'Se soluciono problema con codigo C443 bloqueo fusor
Maquina funciona correctamente
Firmado por Margarita Muñoz', null, 'COMPLETADO','LatLng(lat: -22.0939425, lng: -70.2044782)' )
				
[16/06/2026 11:19:34] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200732

16/06/2026 11:19:34 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200732'                    
				WHERE idllamado = 13022			
				
16/06/2026 11:19:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                
TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl, dsprint@gmail.com


16/06/2026 11:19:34 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13022			
				
16/06/2026 11:19:34 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

[16/06/2026 11:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:19:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:19:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13022
            GROUP BY l.idllamado;
            

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13022
                

16/06/2026 11:19:42 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 11:19:42] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 11:19:42 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FONDO DE BIENESTAR SOCIAL DE LOS TRABAJADORES DE MINERA ESCONDIDA LTDA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 74454100
            [ModeloMaquina] => C5790
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 11:19:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 11:22:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:34 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:22:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:22:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

[16/06/2026 11:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:22:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:22:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:22:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13021
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 10:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2151
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:22:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:23:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:24:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                
=========================================
FECHA: 16/06/2026 11:25:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-yVgN8ZCmrC5AK_addBhufLzK-AObreP9d+0c4sgclgNiY7OnMkE
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2151",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "131480",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Conexion computadores\nConexion escaner\nFirmado por Margarita Muñoz",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13021",
    "observacion": "Conexion computadores\nConexion escaner\nFirmado por Margarita Muñoz",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB2AEcDASIAAhEBAxEB\/8QAGwAAAwEBAQEBAAAAAAAAAAAAAAUGBAMCBwH\/xAA+EAABAwMCAgYHBAgHAAAAAAABAgMEAAURBiESMUFRYYGRoRMUIjJxscEVM9HhByNCQ1JTkqIWNWNysuLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAgMEAAEF\/8QALhEAAgIBAgMGBgIDAAAAAAAAAQIAAxESIQQxQRMyUXGBwSIjM2Gh0ZHwNFLh\/9oADAMBAAIRAxEAPwD7NRRRWmhU5O1Q47LVAskX1yQNi5+wk\/X45Ao1LcXnH2bHAURJlfeKAB4WznPlv8B202tVqjWiGmPHT2rWeaz1mmABRkyVmexyiHAHM+wiUQdXqb9Mbkwlw4PouEeGeEiulv1FIZni2XuP6vIUcNuj3HOr\/wB+VUdLr3Z2b1AUw5hLid2nMbpP4ddYMDsROGl0GqtjnwJzmMaKQacurzhctNwOJ0XIJ\/jSOn5eVP6Bhg4j67BYuoQooorkZCs8+a1b4L0t73Gk8WOs9A7zgVoqX1OXLpdIViZVgLPpXyk+6kZ592T4USjJibrCiEjn08570rDckrev0zJkSiQ3xY9lHLq7MfAdtUteGmkMtIabSEoQkJSkdAHIV7rMcnM7VX2aBf7mFFc1vNtuIbWsBTmeEHpxXShjZLapZXbZ8S\/xke00vgfx+0no8sjvFUrDzclht9pXE24kKSesGudwiJn29+IvGHUFOSM4PQe470m0bOckWtcR9R9PDWUKCuYB5Z8CO6mHdPKSj5d+Ojb+o5yhooopcqhUtplJuV6uV5c4VJKyy0Rk4HZ3cPj0U5v0kw7FMeBAUGiAT1nYfOs+lYgiadjDHtOj0qtufFuPLFMGykyV\/iuVfDf2EcVgh3mHNnyILLmX45IUkg8gcE8uvat9Q\/Giz\/pAcceWptl0KUpRJxgpJ6ByyPLsriLqzCvtNZU9CcGdNcrVFuFult5S6jJCh2EH6+dWDLqX2G3ke64kKHwIzUjrdbE20w5sd1LraXlICknIORv\/AMabaPmet6fZST7bBLR7uXkRRsPlgyep8cU69Dgx5UskfZGuSNwxckE5J24+fzH91VNTOtkFuHDnoAK4sgEZ7d\/mBQV88eMfxOya\/wDU5\/f4lNRXltxLraXEHKVgKB6waKCUxFrVwo046kcnFoSdu3P0pvAaDFujMgYDbSE4+AApJroZsA7H0\/I0\/Z+4b\/2j5UZ7gky\/5DeQ950qD1+xw3CLIx940U\/0n\/tV5Urr5jjtcd\/pbe4efQQfwFFUcOIHHLqoaKLYBcNEXCLnK4i\/TJz0Dn9FVq\/R\/Lw\/Khk+8kOJGerY\/MVl0O4PtORDd9yQwQUnG+PyJrLp9SrXq1thZ4cOqYV252HninsM6h6zzKnwarPQ\/wB9Z9LpVqZj1jTs1GM8LfH\/AEnP0prXGYyJEJ9k8nG1J5Z5jFSA4OZ7li6kK+ImPT0j1mwQnP8ASCef8O30orBoh4uadSg\/unVJG\/f9aK64wxgUNqqU\/aJtXSJUu6S4aHFhiNHS4pscicjf+7yqtszvp7LDcJBJZTkg8zipn1ZczUOoWMcby4xSjwTgfKm2jpSZOnmUA+0yS2oZz05HkRTX7gkfDk9uxPXP4Me0g1o3x6bdV\/LWhXnj60\/pXqRoPadmpVyDRV4b\/SlJswll41VMPsZF2EKjX61SiMIkJKRgbZAKCPIHvr3qyMu26lExCfZdKXkbbFQ5+Y86welUrTzDiVkLhyyE46AtII80GnOqbvbrvaYam1lUse3wJGeAEe0D4eVV76wfSeICpoZc7jBHvLV2XHYi+svOoaZwDxrOBvUy\/rN2VLRFssFUlZO5cBGR2AcvialwJ18cjxkvOSngkJSgDCGkDbf6n4bk8r+xWKPZIvAjC31j9Y7jn2DspJVUG+5l6XW8S2E+FfGLdCeza5TeMBMk4zz90fhRRoclyDMeJzxyTg9wP1opdneMp4T6Cwifqf0hzRyD0YEDl0I8eRrnbXPsHVEqA+r0cWar0kckYTxHoHV0juFfuogbXqK33kEBpRDL2egb7+BPhTW\/2hF5t3Ak4eb9tlYPI\/nR5G2eREnCNltPeU59D+41pbqFQTp+cT\/JUPGksTWLcO3rZubTonx\/YLeN3D155Dt8s0nvjtynwTNuUhDCTgsQ0qwognmU8+XSay1nVvCu4tDWdO5x\/HnEKZCm47kdJyh0pUoEdIzjHifGtVvbXIL0ZpxthKkLcK1j2lpSM8IPdyp3bLDJ1FDZekERYrLQbYCE7rI5q8c06vum0P2yMIrqGHYiQgOrPCCjkckePj1042KDiebXwljLr6dPvMegJbao0mJwIS4hQXxAYUtJ6+vB+dUN1usW0xFvPupSrhPo0HcrONgBUHbm325zCbAXHJaGyl93A9HuTvvnYbeHKtV9sn2fCQ5MkGZc5jgSklRAR0nHX0DfbfkKBkBfcyqriLE4fAHLr0\/6ekYaGRc22VJUwlEBWVhahhS1HAyOzAoqogRUwoDEVPJpsJ+JA3NFIdtTZnoUV9lWFzOF5tqLta3YisBShlCj+yocjUtCv13XDascOKRPaBbccWR7CQcA9w236u2rip\/UFlkOyE3e1rLc5kbgfvAOj4\/OjRhyMVxNbfUTnyOOeP3PEbRkNTKlXJxyXKcPEt3jIwezr7\/KkEGwwbpqAswPTLt8f751SgeI5OwIxseXdmqCNqWNcYrkKQ59nz1IKClwYAURzScjwJFLIFh1IiGIaJDEJhZ4nFoVlayee45no5gbUYLDOTJbEqYr2a5HXHPyPvmP7nqC2WVv0a3ElxAwlhrmOodlJ0QLvqhaXrkpUKBkFMdOxWOv8z3Cmtp0vb7UoPBJfkDf0rm5B7B0fOm61obQVuKCEpGSpRwBS9QXuyvsns3t2HgPczhEhRLbFDMdtDLSBk\/iTU3birU2ozc1IPqMI8LHEBkrGD+fZtXm7XRzUrybPZystlWX5GCE8PV8PntVRDhsQIjcWMjgbbGAPqa73Rk8zBGLmAXuL+T+hO9FFFKlsKKKK00X3Gx266gGXHCljktJ4VeI599KBpCTE\/yy9SY4HJCtwfjggdfRRRRh2G0RZRW3xEb\/AMQ+y9WgcAvTHAOR4Nz8fZ+tH+EZE5YcvF2ekED3G9gPhn8KKKNmIG0lrqVzhskeZlBEhRoDIZisoaQOhI5\/HrrvRRSZ6AAAwIUUUVp2f\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "MARIA DEL CARMEN ROJAS",
    "correoContacto": "escuelacarloscondell@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56981579047",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "11:26",
    "ubicacionGPS": "LatLng(lat: -22.0939759, lng: -70.2045155)",
    "horaLlegada": "10:53",
    "horaDespacho": "11:20",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:25:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:25:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 11:25:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2151', 1, 19969062, 131480, NOW(), 
				'11:20', '10:53', '11:26', 15, 'Conexion computadores
Conexion escaner
Firmado por Margarita Muñoz', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781623555.png', 'Conexion computadores
Conexion escaner
Firmado por Margarita Muñoz', null, 'COMPLETADO','LatLng(lat: -22.0939759, lng: -70.2045155)' )
				
[16/06/2026 11:25:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200733

16/06/2026 11:25:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200733'                    
				WHERE idllamado = 13021			
				
16/06/2026 11:25:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                
TO ENVIO: micorreo@miempresa.cl, escuelacarloscondell@sleplicancabur.cl, dsprint@gmail.com


16/06/2026 11:25:55 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13021			
				
16/06/2026 11:25:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:25:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:25:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13021
            GROUP BY l.idllamado;
            

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                

16/06/2026 11:25:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13021
                
[16/06/2026 11:26:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 11:26:04 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 11:26:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 11:26:04 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 11:26:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:07 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:08 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 11:26:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:26:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:26:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 11:26:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:41 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 11:27:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:27:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:27:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:27:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:27:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:07 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:27:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13037
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:42
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3035
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:19 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:19] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:21 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

[16/06/2026 11:27:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:21 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:21 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[16/06/2026 11:27:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:21 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:23 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:23 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:23 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:23 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[16/06/2026 11:27:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:27:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:23 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:27:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:27:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

[16/06/2026 11:27:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:30 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:30 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:27:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:27:30] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13055
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE REPUESTOS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M2640idw/L
            [SerieInternaMaquina] => KY2721
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                
=========================================
FECHA: 16/06/2026 11:27:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-KFqcFK7VLjWbb+YsCAobNXKKz0j-xdrB2gjbMXPMIzJe010vBij
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3035",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13037",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABVAJkDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA9EAABBAECAwQHAwoHAAAAAAABAAIDBAURIQYSQTFhgZETFCIjUXGhMsHRFRYlM0JSkrHh8DQ1YmOiwtL\/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAgMEAf\/EAC8RAAIBAwIDBgQHAAAAAAAAAAABAgMRIRIxBBNRMkFhcaHRFCIjsTNCUoGR4fD\/2gAMAwEAAhEDEQA\/APsy02rdelA6ezK2KNva5xW5VCrCOLsvNZtF3qFR\/JFEHbPO++3gT4KUY3y9imrUcbRirt7HSeL5piXY\/CWrcQOgkaCAfJp71j88\/V\/8ww9yt8dtfl26KyRRRwxtjijbGxo0a1o0A8F7UtUehDl1v1+iIWtxbhbOg9b9E4\/sytLdPHs+q6sNbvXKskt+COF4lc1gjdqHNHXXU9dfJe7WHxt1pbYpQv168gDvMbpjcXDimSx13yeie7mDHHUM26dVx6bYOxVbWtTVvA7URFA0BERAEREARFguDRq4gD4lAZRQ9zirDUzyutiV2v2Yhz\/UbfVcH5803aujo23MHXlH4qahJ9xRLiaMXZyRZ0VZHHuJJ3htj5sb\/wClIUuJsRfdyRW2sf8AuyjkJ89ijhJdwjxNGTspIlkRFAvPErDJE9gdylzSAdNdFWuC7MMNWXFye7txyucY3DRxG2\/zVoULmeHIck4WK0nqlxp1E0Y0Lvnp8hupxatZmerCWpVIZa7iaRVc2+KMOzWzWjyUTdBzxfa08Br46dPPoqcZ4qc8lgyVJASC2Vu2vzH3pofdk4uJp3tLD8cFgRaq9mC1EJa8zJYz2OY4ELaoGhNPKCIiHQiIgCIobP5w4xsdWqz016xtFGN9NdtSupNuyITnGEdUj1meIauIAiPvrTx7ELe3u1+Cio8Pl+IZBNmpXVaw+zWiOhPzHTx3+SkMFw83H63LrvWMhLu+Rx5uXuH4qcU9SjiP8mdUpVs1dunuR9PBYugB6vSiDh+24czvM7qQRFBtvc0xjGKtFWMEAjQjUFRmQ4dxeSYRLVax+m0kQ5XD8fFSiIm1sJQjNWkrlYZi8xgZIfybOb1YnlfDMfsDbcb93hr2FWD1n\/Ym\/gW9F1yvuQhSVPEXgIiKJaFz26FO83ltVo5h\/rbqR4roRDjSasysWOFJaUrrWCuy1pukTnatOnTf79VsxnE0jbf5NzcIqXAdA7sY74b69p8lY1H5fDVczVMNhoDwPdyge0w\/h3KxSviRmdBw+ajjw7n7EgirWBylincOCyrvfx\/qJSdpB0Hl2eSsqjKNmXUqiqRugiIolhy5LIQ4uhLbnPssGwHa49AFCcM4yWxIc9kiX2594texjCNAdO8fReeIP0xnaWEa7SNp9LYIdpt8PL+Y71ZmtDWhrQAANAB0VnZj5mVLm1W3tH7\/ANGURFWagiIgCIiAIiIAiIgCIiAIiICF4mw5yVETV2kXKx54XN7Tp0\/vqt+Aygy+KisFzTKPZlDejh\/evipNVbh7lbxTmGVCDU1BOh2D9emm37ysWYtdDLP6daMl+bD9y0oiKs1FYwI9Z4tzVo7mMiIHu10\/6Kzqs8K6sy2bicCCLAO57d3Dy2VmU6naM3C\/h36t\/dhERQNIREQBERAEREBAtzctTiOehkSyKvIAaryNPgNPE\/yU8uLKYqpl63oLTNQN2vbs5h7ioCOHiPh13ooGDJ0G68rNfba0dPiD5hWWUljcy650m9SvHr0LYirJ4xcw6Pw1xrtNxp\/RYHGMjzpFhLb3fDTT7lzlyO\/F0evoyzrlv5OnjYvSXLDIh0BO7vkO0qA9e4ryY5a9COhG4frJvtN89\/ot1Dg+BsvrWVnffsHc85PL+J8fJd0pdpnOdOeKcf3eF7nJYzGS4kcaeHgfBWcdJLT9tuo7vDdWDE4qviKLa0A1I3fIRoXn4ldjGMjYGRtDGtGga0aAL0uOV1ZbE6dHTLXN3f8AtgiIoF5VMsXYHiiHLD\/DWwI5+47D7gfAq1NcHNDmkEEagjqtF6jBkaj6thvNG8eI7x3qsQ3MhwjKKl2N9rG6+7sNB92D0\/p5KztrxMd+RNt9l+j9i3otNa3XuRiStPHMwjXVjgVuVZrTTV0ERarFmvVj9JYmjib8XuAQNpZZtRV21xlSD\/QY6Ca\/OR7IjYdD9\/0U5UmknqRTSwGCR7Q50bjqWn4KTi1uVwqwm2ou5uREUS0IiIAiIgCIiAIiIAiIgC8SxRzxOimY2SN40c1w1BCIg3ICzwZQfL6WnNNScdeYRO2Pn2Llm4fytQt5OJLZB1ABDth\/EiKxTkZJ8NSSbSt5XRmDAZO2SJeIrfI3TUNBGv8AyW+vwRj2SCS1PYtPH7zuUHy3+qIjnIQ4ak0m1fzuycqUKdBnJUrRwjTQ8jdCfme0roRFWakklZBERDp\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "ROSARIO ORELLANA",
    "correoContacto": "losconejitos@sleplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1240\",\"id_control\":\"29023\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1241\",\"id_control\":\"29023\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1242\",\"id_control\":\"29023\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I1243\",\"id_control\":\"29023\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:28",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:20",
    "horaDespacho": "11:14",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3035', 1, 9291721, 0, NOW(), 
				'11:14', '11:20', '11:28', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781623674.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200734
[16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200734', 'EPS-I1240', 2)
				
[16/06/2026 11:27:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29023 and
				    IDproducto = 'EPS-I1240'
				

16/06/2026 11:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1240';
                [16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200734', 'EPS-I1241', 2)
				
[16/06/2026 11:27:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29023 and
				    IDproducto = 'EPS-I1241'
				

16/06/2026 11:27:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1241';
                [16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200734', 'EPS-I1242', 2)
				
[16/06/2026 11:27:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29023 and
				    IDproducto = 'EPS-I1242'
				

16/06/2026 11:27:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1242';
                [16/06/2026 11:27:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200734', 'EPS-I1243', 2)
				
[16/06/2026 11:27:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29023 and
				    IDproducto = 'EPS-I1243'
				

16/06/2026 11:27:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I1243';
                
16/06/2026 11:27:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200734'                    
				WHERE idllamado = 13037			
				TO ENVIO: micorreo@miempresa.cl, losconejitos@sleplicancabur.cl, dsprint@gmail.com


16/06/2026 11:27:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13037			
				
16/06/2026 11:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:27:57 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:27:57] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:27:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                
=========================================
FECHA: 16/06/2026 11:29:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uQLdGkdK+QVncLa_RUzLY0LUH_ew9a-WwPxtCQOOffO9Qzt1Z-J
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "KY2721",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "59674",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se cambia fusor",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13055",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACbATUDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABMEAABAwMCAgYGBQcJBgcAAAABAAIDBAURBiESMRNBUWFxoRQigZGxwRUWMlLRByM0QtLh8CQzQ1VicnOCkiU1U3Si8TZEVmOywuL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAyEQACAQIEBAQFAwUBAAAAAAAAAQIDEQQSITETQVFhMnGRoSKBwdHhM7HwBRQjQlJi\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBEXCsraegpnVNVII42cyfgO1DjaSuzuqu56ittpy2om4pf+FH6zv3e1Uorb5qhzxQfyCgzjpXbOd27jn7Nu9Wtr0tbbaRIY\/SJxv0ku+\/aB1KzKo+Iy8WpV\/SWnV\/RED6wXy4H\/AGXZi1h\/pKjbPfzA5eK99B1dVDiluNPTA\/qsG4z7OrxWnRM9tkS4Dfjm37fsZj6D1J\/X\/kU+g9Sf1\/5FadE4jH9rDq\/VmWlOqLM0zvniuFM0ZeA31mgczjYnbvV\/bbhFdLfFWQghsg+yeYIOCPeouobpHarTLK45kkBZE3PNxHy5rzTdHLQWKnhmz0mC5wOPVyc4R6xuyNO8KuRNtW58i1REVZrCIiAKktl3qanUNwt1SGDoBmMNGPVzz59eR+5XayrS2D8oxDQB08GD48Of\/qpxV7mevJxcGnzt6mqREUDQEREAREQBERAEREAREQBERAEREAReAgjIOQV6gCIiAIiIAqfUN+Fjigd0HSmZxHPGAMZ8irhZfWLWvq7Ox7Q5rqjBBGQRlqnBJyszPiZShSbjv+TQ0VZBX0kdVTP445BkH5FZ24R\/TGsYrdOSaWmi6R8fEQHnvGe8LnRk6Y1KaBzj6BXbw55Mdnl8vaFK1BQVNNXQ323QdLPD6ssY\/Xbyzjr2293YppJS057FE5upT+Jap6r+epoWtaxgYxoa1owABgAL6UC1Xiju9O2WnkHHjL4ifWZ4j5qeqmmnqbYyjJXjsERfL3sjYXyODGtGS5xwAuEj6UC63eks9KZql\/rH7EY+08934qqr9V9JN6HY4DXVJ5uAPA3v7\/guNltEFRdJai51ra64xYL4wctjzkY78Y5chsrFC2sjJKvmeSlq+vL8ntqtVXeK5t5vLcNG9PTHk0dRI\/jK1KIoylmLqVJU1Zb831CIiiWhERAFjLrJ6N+UKikz9sMb\/qy35rZrE6uAZqm2ykHHCzyefxVtLexjxulNPo0bZERVGwIiIAiIgCIiAIiIAiIgCIiAKuv1S6kslVMxxa8Mw0tAJBJA6\/FWKzetJXvoaa3xn16yYN58wO7r3I8lKCvJFNeWWlJlbQVlw05HTVVUXz26ta1zs5LonEd\/8FbOKWOaJssTw9jxlrmnIIXCS308tt+j3szB0Yjx14AwFQaeq5rTcZNPVpyGkuppO1p6v468hTfxq63KIXoSUG\/hfs\/yalERVG0IiIAsxrYllPQStPrMqRj3fuWnWY1z+g0X\/Mj4FTp+JGbF\/oyJuqrZ9I2d7mD8\/T\/nIz17cx7vgFIsFx+lLNBUudmTHDJ\/eGx9\/P2qxIBGCMgrK6ckbaLxc7RK\/giY7poi\/YBvWSfAt9y6tY26HJ\/46ylylo\/oS7npKlqpvSqGV1DVA5Do9mk9uByPeFFkueobB\/vGnFwpW4\/PxbEDv28OY9ql1+r6GB5goWvr6jcBkIJb7+v2ZUJtsv8Afzx3OpNDSu\/8vHsSOwj8c+Cmr2+PYzzyZnwL5u23z5HefXFsFIZKdsss52bCW4Oe88vdlcW2a7aic2e9zGmpwcspYhg+3s9uT4Kw+qFlNKIPRTsc9JxnjJ8f4CgjTl4tji60XYujByIZ+Xh1jyCJx\/10Z2UK7f8AlV10X16l\/QW2jtkPRUcDYmnmRzd4nrWPtlUabX9U3B4J5ZIzvy6x5hWRvuoLc4tuFm6djTgy0+cY7ev5exZM3GM6i+ksOjb6SJOA8wM5PapQg9blOIrwWTLpZ7WsfqiKJTXSgrMejVkMpPU14z7ualrNax6ykpK6YREQ6EREAWG167guVE7GeGMnHtW5WF1\/j0+jzy6M\/FW0fGYsf+g\/kbpFzg\/mI\/7o+C6Ko2oIiIAiIgCIiAIiIAiq7vqChs7Q2Zxkmd9mGPdx\/BVJOqL6OJhbaqZx2GSJCPj8FNQbV2UTrxi8sdX0Ro6mtpaNuampihB5cbwMqpm1lZYs4qHyY+5Gd\/euVNoq2sf0tW+askO7jI\/AJ7dt\/NW8Frt9MAIaKBmOsRjPvXfgXcjfES6L3+xSO13bM8MdPVyOPIBjfxVLPqKCt1JDcJaWd0FK3DIg0cQd2n2\/Ba+9XGOzWmWpDQHfZjaMDiceX4+xRNKWw0FqE0ufSKsiWQkb4PIeefaVNOKV7GecKs6ipufd6ehyg1tZ5DiV00BHPpIyfhlcr4yk1DQtmtlVHJWUx44Q12HHrIxz6tu8LQTUdLU56emhlzz42B2feqet0faqnhdCx9JI3k+E494KinFO60LalOtKLi7SXo\/qSrBeWXm3iUjhnj9WZnY7t8CrRYCenuOia1tRFKyphqBwuLmkB2N999j2b9vetJb9WWusgL5pm0srftxynBHgetJw5x2OUMSrZKukkXaLPVOtrVEeGDpqp\/UI2YHnhRxeNS3J2KC0iljP9JP1c998fAqPDlzLHiqd7Rd321NQSAMk4AWO1pdaGogpoYKmOaSOYPcIzxYGD1jZSvqrXXA8V6u8sw2PRRbNB+HkFC1VZqC0WylkpKYMxUAOfnLjsTjJ8FOCipLUz4mdWVKXw2XfcmfWO8XRuLPaHhh5TTcvkPMqnr7RWSagoWXupErqw8JMP6oHIDbv7F+grMawPRT2mpyAY6nr9h+S7CWtkrDEUXw805N2t5b9C8oLZR22Lo6SnZEOsgbu8TzKloiobuegkoqyCIiHQvzC5ta7UtUHNBBrQDkdWSv09fmNx\/8AE1T\/AM8PiVfR3Z5n9R8MfM2FToyy1BJbA+AnriefgchRPq3eLe3NqvT8c+jmG2fMeXYtSirVSRreGpPVKz7aGW+m9RW04uNoFRGDvJB2du2fkpMGtLTI7gqOmpZAcObLGdj7MrQKPU0FHWAippYZs\/fYCfeu5ovdHOFVj4Z38\/ufFNdKCsx6NWQyk9TXjPu5qWqCq0ZZqjJZE+nceuJ5+ByFG+rl6ot7bfXkZzwTg4HxHb1JaL2Y4laPihfyf0ZqFhfygfp1J\/hH4qy+ltTW538utLaqPnx0\/PHsz8Fm9UXll4qYHNp5YHRMLXMkG+5yrKUGpXMmMrwlRcdU+6P0iD+Yj\/uj4LoolvrqSsp2ejVEcuG4IY4EjHcpaoZ6UWmroIiLhIIiIAiIgCz9+vNSKptotLeOtl+27\/hDHP3HOVoFQ3DTtRLcn3C3XF9JNIzheMZBU4WvqUYhTcLQ\/Nux0s2mqW1\/n5sVVY48TpnjOD3Z5ePNXSzH0TqobC9xEDllv\/5Q2LUUpzLfyz+4D8sKTV3dyKoTcI5YU37fc065yTRQgmWVjABklzgFmzpGtlHDU6hq5mfd3+biqm\/aft1qjihifVVNdVO4YmueMcwMnbvwihFu1xUr1YRcnC3z+xIvFwo7vqWCnnqom26j9Z7i4Ykd1gdvUPerqbWFkhG1U6U45Mjd8wuVr0hbaeii9MpmzVJaDI5zjgHsAzhWsNpt1Ocw0NOw5zkRjPvXZOG3QhSp4hXlom\/N\/wAsUh1tDOeGgtlXVO7OHHwz3e9PpHVdb+j2uGkYf1pTuOrrPt5LTAADAGAF6oZorZF3BqPxTfysjI1endQXSAtuF0icAOJsTG7cXV1BVlm03R3qySPimkjr4nkODsFo7BjsI6+0HwX6CsvbwLZrespMhsdbH0rGjrdz\/bVkZtp2M1XDU4zi3qno7+x30hUwTUDoPR4oaymPRzBjA0uxyJx7faCtCsxbPU15dI2Z4DCHEDlxHgz7dytOq573NWGb4dnybXoFm9dM4rA04zwTtPhsR81pFQ6zbxabmOM8L2Hw9YD5pT8SGJV6MvIuoHcdPG\/OeJgOe3ZZvVxEtfZqXO8lT7t2j5q+tj+ktVI\/OeKBhz2+qFQMcLvrouG8Ntjxseb\/APuf+ldhpJvoQrvNTUf+mvualERVmsIiIAvzauiLtaPp8HElY09+5\/ev0lYxlL0v5SpfuxASHP8Ahj5kK6k7X8jBjYZlBd0bNERUm8IiIAiLlNUwUzeKeeOJo63vDR5ocbS3Oqwv5QP06k\/wj8Vo5tU2SDZ1exx\/sAu+AWN1ZeaS8VcL6TjLYmFpLm4zv1K+lFqV7HnY6rTdFxUlc0smjLZPGyWndNSyYB4o35GfauBOprC4uJbdKNvPqeAB7xy7wvqO+ahqY2tobFwt4RwunJAPLt4e\/wDjn4bdqu5uxV18dDEebYeflz96a\/7NHGqb1oxafZWXvoXdou1PeKP0in4m4OHscN2ns7Ci8s1ngs1IYInGRzjxSSOAy4oqZWvob6efIs+5YIiLhYEREAREQBEVNetR09rxBE30msfs2Fm5Hjj4c11Jt2RCc4wWaTJV4u9PZ6J087suO0cY5vKqdO2meeY3u7Djq5d4mu\/o29Rx1eHUvLVp6oqqoXW+v6aoO7ID9mPsz+HxWmU21FWRnjGVWSnNWS2X1YRVF5vxs08TX0Us0UjSTIwjYjqx1qv+vNL\/AFfWf6R+K4oSaukWSxNKDyyepp0WYGuKUnAt9YSf7I\/FeDWUsnrQWSrkZ97f5Apw5dCP93R\/6\/c1CzGoHCm1PZqni4ONxjcSdsZGf\/kn1quMgxBp6qc89pO3\/SqGoluur7nFSPiii9H4slgPCzOMknJ7FZCDTuzPiMRCUVGF27q2j6l9pUGuudzu5BDJpOCI4O7R4\/5fNadQIrVHT2Y22mkMI6Pg6Vow7ON3eKp\/qhVf1\/Wef7Sg8sne9i6CqUoKKjd89eZp1UapiMum61o6mB3ucD8lX\/VCq\/r+s8\/2lxrNJVLaKdxvdVKGxuPA7OHYHI+suxUU07nKk6soOPD3XVE2mu0dDoymqy48QgEcYA3LwMAe8LrpS3mitAlkBE1U7pXg59XPIb78viqPS9i+lKWCrr6gy00BLYqbmOZzn2n+OS26TsrpHMOpVMtSS2Wn1YRFynqqembxVE8cQ7ZHhvxVRsbS3OqKmqdW2WmB\/lYlcP1Yml2fby81AdrJ9S7htloqarf7RGPgCpqEnyKJYmjHTN9f2NM97Y43PecNaCSewLA6fr3VOtPSiwsZWGThyOrBIHkAu17veoDRdDVUUVLHVgsa0bvcOvbPeBy61BqbHcLbWWuGqqxF0zuiY+E\/zQJ332+8roQsnfmYMRXc5xcU7Rab5H6JLNFA3jmlZG3te4AearKnVNlpc8VcyQ9kQL8+0bKDFoe38XHV1FTUyE5Jc\/APz81Z0+nrRS7xW+HPa9vGfPKqtBG6+IlskvcqTrQVLiy22qqqncuWPhlPSNYVwBipqeia7cF2C725z8Fp2tDRhoAHYF6mZLZDg1JeOb+Whl\/q9favJrr+9mebYAceWPgukGhrWx3FPJUVDj95+B5b+a0iLnEkFhaW7V\/PUroNP2inAEdugOORezjPvOVldcUzBcKGGCNjOJhaA0AD7S3ayN9cyo1raqdzciPhce88ROPIKVOTzXZVi6cOFlStdr9zWtaGtDRsAMBeoiqNwREQBERAEREAXOeohpYXTTyNjjaMlzjgBVF41CaCo9BpKSWqrC0ENa0lrc8s9f8AHNQIdOV14lbV6gqSRzZTROwG+PZ7PepqPORnnXd8tNXfsvNnlRfLhf5TSWCN8cQOJKt4xjw7Pj4KzsunKS0fnt56tw9aZ\/PPXjsVpBTw0sLYYI2xxtGA1owAuiOWllsIUPiz1Hd+y8giIoGgIiIAvHODWlziAAMknqUO53ajtNOZquXh+6wbud4BZ1sF31aRJUONDbCctY37Ug+fidu5TjG+r2KKlZReWKvLp9+h1r71PfpzarG4hp\/n6kggBvd\/G\/Ur21WqmtFG2np2973nm89pXWhoKa3UzaeliEbGjq5nvJ6yvamtpaNuampihB5cbwMo3fSOxyFPK+JUevsvI7os9U61tcZ4KYTVch2aI2YBPifwK4fSup7j+hWtlJGf15+fjvj4FOHLnoceJp3tHV9tTUKFWXS3UbXNqqyGPbBaX+t7huqT6tXiu3ul8kwTvHACGn4DyUul0dZqbd0Dp3Z5zPJ8hgeS7aK3Y4laXhhbzf0RndN6kZaqCSibSzVUplLoxGNiCAPHq7Fbi5arrx\/JrZFSMP6032h7CfkmmGtor9eKANDQJA9gA5Nyezbk4LUKU5JS2M+HpTlTSc2ktLLt3Mu3T9\/rN6+\/Pj\/swZx5cIXaDRFpjdxTunqD19JJj4YVheL5S2WON1QyV7pSQxsbck4\/7hVH0zqW4kigtIpmH9efmOe++PgUTm1fZHZRw8JWacn82XVNZLXSYMNBA0jk4sBPvO6+qu62+gjcZ6qJnR7FocC4bcsDdUZ07e6\/e5XtzAc5jgBxjyHkVNotIWijPE6J1TJvl0zs8+ew2UWo83ctjKptCFl3+yIFpp59Q3n6crIzHTQnhpondoPP2Hz8F01u0x0dFWDnBUDr7Rn5BaYAAYAwAqrU9P6Tp2sb1sZ0g\/ynPyXVK80cqUctCS3b1v3LRrmvYHtOWuGQe0L6Vbp2o9JsFFJ\/7Qbz+7t8lZKtqzsaoSzRUupS3a0XOtrBNSXeSkj4AOjaDjPbzUL6uX3\/ANRze534rTopKbRTLD05O7v6szL3ajsha4ltzpgPXOMPHb8O\/mpFLrG1TkMmdJSv3BEzMAEcxkK+UeooKOr3qKWGU9RewEjwPUmZPdHOFUh4JadHr+Tgy+2qRrnNuFOQ1vEfXGwWJpKqS46xpbi6NzGVE3qcXY0Y9vUtf9V7LnPoLck5PrOOfNVd3ijh1ZZY4mBjGggNaMAbqyDir2M+IjVkoudtGtvM1SIioPRCIiAIiIAiIgPnhbx8fCOLGM43wvpEQBERAEXhIAyTgBZ+7axt9AHR0x9KnHUw+oD3n8FJRctiupVhTV5uxfySMijdJI9rGNGXOccADvKzNbquSqmNFYoDUTHYzOHqNHb+87eKz0g1FqeQSGGWSEnLW44Ih4Z2PvJVzSaLqpIwy4XDo4s56CmGBy7Ttn2FWqEY+JmB4itW0pRaXX+fkjxx2mhqfTb9cW3Ct2Ijj9drdsjuPkFPOqLncTw2azyPaeUs2w5e4e9WtDpy02\/Bho2OeP6ST13Z7d+XswrMAAYAwAoucely2nh6iVr5fLf1ZmPojUtxOa67CkjP6lONx3bY+JXal0TaocOqDNVP6zI\/AJ8B+K0SKPElyLVhad7yV331OFNRUtG3FNTRQg8+BgGV3RFA0JJKyCIiHTLsIpPyiScZ\/TKYcPuH7BWoWX1bmjuNquYw0RTcD3dxwfHlxLUKyeqTM1DSc4d7+p8ujY57XuY0ub9kkbj+MBfSIqzSEREAXOaJs8EkL\/syNLT4EYXREG5mtETH6Lmo35ElNMWkEcgf35WlWXgf9Ea4nge7ENyYHt\/v9Wfbxe8LUKdTe\/UzYZ2p5HvHT+fIIiKBpCIiALMXAF\/5Qba0jLW05d4bSfuWnWXdio\/KK3fPo1N28sg\/teashz8jNidor\/0jUIiKs0hERAEREAXy97I2F8jgxrRkuccAKou+pKS2O9HjBqaw7Ngj3IPf2eHNUFUyouLxNqa4MoKYYcykY71z38O59pyfBWRg3qzLUxMYvLHV+y82WlbrCDpDTWmnkrqg8uFp4fxP8brpa7ffZLi2vutb0YZkNpoj6pztvjbHvKqjq+22yAUlmt5cBsHP9UE9vWXe3C+RHqzUAIe70KA9RBiH7R+Csy2XTzMnGUpatyfRbGorr5bLdkVVZG145sB4ne4bqhm1pPWSGCzW2Wd+PtPGcd\/CPxXah0NQQHjrJX1bzvj7LfLc+9aGnpaekj6OmgjhZ92NoaPJQ+CO2pptiam7UV6syzbBf7wQ68XAwwuHrQxnf2ger8VdW\/TVqt2DFTCSQHIkl9Zw\/BWqKLm3oWQw1OLvu+r1PAABgDAC9RFA0BERAEREAREQBERAVGqKL06wVLAMvjHSN3xu3c+WV10\/WivsdLNnLgzgf4jYqxIBGCMgqotlkltdwlkhrD6E8HhpuHAaTjdTTTjZmeUZKqppaPR\/cuERFA0BERAEREBR6mtNRXwwVVFj0ukfxxg9fI7Ht2C40U2o7hcoppomUFHF9thGTL289\/gtEimp6WKHQTnmTa697BERQLwiIgCzFrw7Xl0cRuIQM\/6f3LTrO6WgnkmuFzqGSRuqpiGMe0tIAPPHtA\/y81OOiZmrK84Lvf0RokRFA0hERAV9xvlutT2x1lRwPcOIMDSSR27DuKorhq2SvgfS2Wjq5JZBgShuOHvAGflhaWa30dTOJp6WKWRreEOkYHYHdnxXZjGRt4WNDR2AYU04rkZ5wqzbWay8tTCWvSl89eUzMonSZDnk8UhHdjl7wrei0NboDx1UklW\/ryeFufAb+a0yLrqyZXDBUYbq\/mRqS30dCzhpaWKEdrWgE+J5lSURV7mtJJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/9k=",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO DE REPUESTOS.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R1152\",\"id_control\":\"29041\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:30",
    "ubicacionGPS": "LatLng(lat: -23.768584, lng: -70.3257437)",
    "horaLlegada": "11:02",
    "horaDespacho": "11:01",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:29:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:29:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[16/06/2026 11:29:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78876040', 'KY2721', 1, 24456550, 59674, NOW(), 
				'11:01', '11:02', '11:30', 4, '•Se cambia fusor', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781623787.png', '', null, 'COMPLETADO','LatLng(lat: -23.768584, lng: -70.3257437)' )
				
[16/06/2026 11:29:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200735
[16/06/2026 11:29:47] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200735', 'KYO-R1152', 1)
				
[16/06/2026 11:29:47] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29041 and
				    IDproducto = 'KYO-R1152'
				

16/06/2026 11:29:47 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R1152';
                
16/06/2026 11:29:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200735'                    
				WHERE idllamado = 13055			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl, dsprint@gmail.com


16/06/2026 11:29:48 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13055			
				
16/06/2026 11:29:48 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:29:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:29:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:29:50 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:29:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:29:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:29:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13055
            GROUP BY l.idllamado;
            

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:29:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:29:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13055
                

16/06/2026 11:30:34 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:34 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:36 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:30:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:36 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:30:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

[16/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:38 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:30:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13037
            GROUP BY l.idllamado;
            

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

[16/06/2026 11:30:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:30:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:30:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13037
                

16/06/2026 11:33:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:33:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:33:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:33:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:33:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:33:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:37 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:33:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:33:37 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

[16/06/2026 11:33:37] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:33:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13024
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CAMBIO DE UNIDAD DE IMAGEN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3097
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:33:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:33:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:36:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:35 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:35 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:35 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:37 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:43:37 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

[16/06/2026 11:43:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:43:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:37 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

[16/06/2026 11:43:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:37 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:37 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:38 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:43:38 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:38 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:43:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[16/06/2026 11:43:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:43:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:38 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:43:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:43:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:43:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:43:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

[16/06/2026 11:45:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:45:56 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:45:56 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:45:56] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:45:58] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:45:58 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:45:58 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:45:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:45:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:01 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:01 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

[16/06/2026 11:46:01] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:01 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:02 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:02 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:02 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

[16/06/2026 11:46:02] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:24 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:24 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:24] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

[16/06/2026 11:46:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

[16/06/2026 11:46:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:29 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:29 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

[16/06/2026 11:46:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:46:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:52 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:52 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

[16/06/2026 11:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:52 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:52] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:53 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:53] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:53 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:54 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:54 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

[16/06/2026 11:46:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:46:57 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13059
                

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:46:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:57 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:46:57] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:46:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:46:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

[16/06/2026 11:47:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:47:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:47:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:47:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:47:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:47:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:47:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13054
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => REPUESTOS PARA ATASCO DE PAPEL
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:18
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2355
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                
=========================================
FECHA: 16/06/2026 11:47:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-T2e--oy4WyCPHo1LJQ.LAC1EShhtoeEzPkVOGBEgFLePzt8P9oP
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "78876040",
    "serieinterna": "EP2355",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "42578",
    "contadorColor": "130077",
    "contadorScanner": "0",
    "detalle": "•Se reemplaza rodillo bandeja interior\n•Se limpia guía de cabezal\n•Seimpia unidad duplex",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13054",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC+APYDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYEBQECAwf\/xABKEAABAwMBAwgFBQwKAwEAAAABAAIDBAURBhIhMRNBUWGBkaHBFCIycbEjJFLR4QcVMzQ2QnJzdJKywhY1U2JjotLi8PElVIKj\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECAwQJAwQDAAAAAAAAAAECAxEEITESMkFREyIzYXGBkbHBodHhBUJS8BQkYv\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAi0Wqb062UTaemJ9MqfVix+aMjJ8cD7F56MqqustMstVK6T5dwYXDfjAJ8SVPYeztFHTx6XolqUKIigXhERAEREAREQBSdZq6am1C+m2I\/QYpBFI8jLgcHJyOvPdzKnqZm01LLO72YmF5343AZUbarSblpGvndg1FVIZWuxzt+s7Q7VbTS1ZjxMql1Gm8836fctgQRkHIK5Wo0vXm4WGB7nZki+Sf7xw8MFbdVtWdjTCanFSXEIiLhMIiIAiIgCIiAIiIAiIgCIiAIiIAur3tjjc95w1oJJ6Auy0Gsa51LZHQRbXK1ThE0NG\/HP4bu1diruxXVmqcHJ8CfqJZK6C5ahqMtDB6PSMJBxnccEdAOcjnz0Ks05R+hWCkiIw4s23e92\/zx2KfvNGY6SyaeYfbeDLwHvPi49nOrJrQ1oa0AADAA5lbUfVRjw1O1Rt6pZ+LzfwcoiKk9ALo6WNr2sdI0OdwaTvK7qYuv5dWr9Uf5lKKuVVamwk+9L1KdERRLQiIgNXqSXkdO1r84zFs\/vbvNNNQ8hp2iZjGY9v94l3msTWsmxpyVufbexvHrz5Lb0EYit1NGBgMhY3HRgBT\/Z5mZZ4h9y92Tunj969SXK0OIDHu5WIEn347j4KqUrqgG23m23lmQ1ruSlwcbuOO0F3cqkEEZByCuzztLmcw\/V2qfJ\/R5nKIirNQREQBERAEREAREQBERAEREAREQBS1R\/5jXEMIDjBbWbbujb4\/HZ\/dVLNKyngkmkOGRtLnHqAypfTBFNaLhfagDbnc+TJ5wMnj1nKshkmzLXd5Rhw1fgvyd6XFz15UT8Y6CPYbz+tw+Jd3KpU5oqkdFaX1ko+Vq5C8kjGQNw8cntVGuVNbcjuGT6Paess\/X8BERQNIUxdfy6tX6o\/zKnUxdfy6tX6o\/zKyGrM2J3V4r3KdERVmkIiICa147FhjH0qho\/yuVG1oYwNHADCmtff1HD+0t\/hcqdTe4jNT7efgvk1moqEXCx1MIaC8N22bs7xv+ztXnpau9PsFO9xBfEOSfjmLeHhhbdS+m8W6\/3S0nIaXctF7v8Aot7iurOLRyfUrRlzy+UVCIirNQREQBERAEREAREQBERAEREAREQGh1lVGm07K0HBne2Mbu0+AKwb+11t0jSWyIkSzFkRA3Z53e7f8V6akzW6htFtHDb5V4HOM\/U1y4ueLnreho+MdGzlX9R4+TVfHJL1PNrNylO3G0V56lFRUzaOhgpmgARRtbu6gvdEVB6KSSsgiIh0KXu5Ddc2kn+zI\/iVQpK\/kt1raCOho\/zFWU9TLinaCfevcrURFWagiIgJjX39Rw\/tLf4XKnUxr7+o4f2lv8LlTqb3F5man28\/BfIUve8WzVttuIGGT\/Iyc3Vk\/vDuVQtHq+iNZYJXsB5SmImbjq4+BJ7Eg+sdxMW6ba1WfobxFh2qtFxtVNVgjMrAXY5ncD4grMUWrZF8WpJNBERcOhERAEREAREQBERAEREAREQEvTuFTr6rmcRydJT42uYHAz7uLu5caT+f3K6Xg8JZeTjPQOOO7ZWrhrDDRaiuJd8pNLyLCOIyT5HwVTpui9AsNLERhzmco\/fzu3\/Yr55L6HmUOvUXnL1dkbRERUHphERAFG6ocGavtDjwBjP\/AOislEa7c6C50FQ0YLWkgjpDsq2lvGPGu1G\/Jr3LdFw1wc0OG8EZC5VRsCIiAmNe77LA0byaluB0+q5U6mNcY9Bo8\/8AsjHcVTqb3EZqfbz8vkLq9jZI3RvaHNcCHA84XZFA0kzo174GV9rkOTSTkDJ5jkfFue1UyloyKD7oMjMANroMj34+th71UqyprfmZsLlDY\/i2giIqzSEREAREQBERAEREAREQBEXnUENppXHcAwk9yBnzK3A3Santu\/5xVmSQZPDA39219i+oAADAGAFDaBoeUrKiucN0Tdhu\/nPHwHirpXVn1rHn\/p8Gqe2+PwERFSegEREAUR90L8PQ\/ov+IVupLV1M2rvNqp3EYlLmd5AyrKWUzHjVtUGl3e5vrHUCqsdHLnJMLQfeBg+IWep3RFRyljMB3Op5XMIz07\/MqiUZq0mi6hLbpRl3BERRLiY1uNuloIx7TqkYHZ9qp1Mas+VudlpuIkqcnvaPMqnU5bqM1Ltqnl7BERQNJL6pDqS8Wi5NwGsl5N56iR5bSqFodZ0\/L6cldzwvbIO\/HwJW1t1R6XbaaoPGWJrj7yN6secUzNT6tacedn8GSiIqzSEREAREQBERAEREAREQBa6\/1jaGyVUxIB5Mtbnncdw+K2KkNbVD6mamtMJ3kGeT3AHHgHKcFeRnxNTYpNrUztEM2dOsOyBtyuOenm8lQrRaM\/JqD9J\/8RW9Se8zuG7GPggiIoF4REQBTGqfVvlhfw+c4Lv\/AKZ9qp1Mav8Ax6zftPm1WU94zYrsn5e6OtlIt+r7pQE4FR8qzf247nHuVSpXVINuvNsvLQdlj+SlIwN32gu7lUggjIOQUnnZnMP1XKnyf0eZyiIqzUS9+9fVtlYTuBJHvz9iqFMXT19d2qPjsxF2Oj2t\/gqdWT0Rmob9R9\/wgiIqzSYF7j5Wx1zBxMDyPeBlYuk5OU01Sb97Q5p354OK2VbHytDUR8NuJze8LS6IftadYM52JXD3c\/mrFuMzPLELvT90UKIirNIREQBERAEREAREQBERAFG21hu9xvN2ftGIRvhhOd2Mc3YB+8t5qa4G22OeVuOUkHJMz0nn7Bk9i4slu+92nGU72bMjoy+UH6RG8H4disjlG5kqrpKqhwWfwjH0U4u05GD+bI8DvW\/U5oUk2A5PCd2O4KjXKm8yeFd6MfAIiKBoCIiAKY1f+PWb9p82qnUxq4Zr7KOmp82qdPeM2L7F+Xuja3+3m52aema0GTG1Hn6Q3j6u1eGla8V9gpyXAyQjknjoxw8MLcqVtoFl1jU28M2aeuHKRdAIBP8AqHcuxzi0cqdSrGfB5P4KpERVmomKj5X7olL\/AINMfg7\/AFKnUxRYqPugV78giGANb78Nz5qnU58PAzYf97\/6f2CIigaTq4NLCHeyRv8AcpzQZP3hkzn8Ydjd\/dat7XyCK3VMhOAyF7s9GAVqNFRlmnI3EY25HuHXvx5KxbjM0868fB\/Bv0RFWaQiIgCLpJLHCwvlkaxo4uccBair1bZqQlvpXLOHNCNrx4eK6ot6EJ1IQ3nY3SLUWa+\/fmSTYoZ4YWtDmyyDc7qRGmnZiE4zW1HQ26Ii4TCIvGsqWUVHLUyHDImFxQ42krsm7mW3vV9LbmvJhohys2OGdxx\/CO0qqU5o+mmfTVF1qgDNXSFwON+yPgM57AFRqc9bcjPhk3F1HrLPy4fQmNC+pbquH6FSdx48APJU6l9JYiud6pjkFlRkDmxlwVQu1N5jCdil\/dQiIqzSEREAUxqj177YYxv+cZI6tpn2qnUxqP8AKax\/rT8WqynvGbFdl5r3RTqc1hRSupIbnTEiehft7vo7s9xA8VRrq9jZI3RvaHNcCHA84UYvZdy2rTVSDiY1sr47lboauPhI3JH0TzjvWWpXT8hsl6qrDMTsSO5WmcecY4dw7wVTTSiCCSZ3CNpcewZXZRs8iFGptwvLVa+JN6Z+cX+9VgOW8rsNPMRk+QHeqhTGiWtis01VLIA6edxc5xxwH\/ayL\/qenttJijlinqJAdnZeHBnWce\/h9SlKLlOyKaNSNOgpzff6s2FwvNBbAfSZxt\/2bfWdxHN2rGtmp7fdJxTs5SKcgnk5G48eCmrbcbBQD0uve+4V8h23u5PaDDxwNrA7e5elyu9ReJ4Ki3WaqE8DssnLc7hzHA81Lo1oVf5b3rrw1frzN\/q2rFJp2o34dNiJu\/HHj4ZWXY6Q0VkpKcjDmxguGOc7z4lS9fbdTajkjNTTw0scW9jXOwMnHEbyVnnStyrDm5X2Z7TxjjyB8ceC40lGzZKNSpKq5xg9LLh7m\/qLjQ0hxUVkER6HyAHuWqqNZ2WD2ZpJz0RxnzwuKfRdlg3vhknP+JIfLC2tPbKCkx6PRwREcC2MA9\/FR6i7y\/8A2Jcl9fsaE6ruFZutljnk3gCSTOyPfjd4p6Lq64fhquCgYTvbHvPZjPxVQibaWiHQSlvzb8MvYmY9FwSvbJcq+prHj6TsDxyennW3pLHa6HfT0MLT9IjacO05Kz0UXOT1ZOFClDNRCIiiXBFpL3qimslU2mlp5ZXujDwWkAYJI8lp3fdCaD6tsJHXPj+VTVOTV0jNPF0YPZlLMs1MavmfVSUdkgfsyVcgL+pud2e3f2LDGv5JTsxWsbXXUf7VhUFTeq+8S3yjtonLxybOUd6rNwG7eP8AhKsjTcXdmatiqdWOxC7vrZPTiXdNTx0tNHTwt2Y42hrR1BeqlxNrOXf6NSQn3g+ZXPJazdv9Io2Z\/NwN3gobHejQsRZWUJegtfyGurpB7IkiEgHMT6p\/mPiqdfP6yjvlNqKlNTXxNqqsbDZ4m7scMEBo6uZbn+jd7k\/Caknbz+oHcf3gpTism2UUKs1tRUHq+XHPmU64JAGScAKZ\/ofUP\/DX6sk5zx49O8lG6EoDjlqyrkx\/eaPJR2Y8zR0lb+H1Rv5K+ih\/C1cEf6UgCxZdRWeH2rjAf0HbXwysKPRVlZ7UUsn6Up8sLKi0xZIfZt8Z\/TJd8SU6neL4h8EvNmPLrOyRZ2ah8pH0I3eeFO3XUlLX3231VNDPIylOSwtALjnO7BPQrWK2UEGORoaePHO2Jo8locNl+6G1rQMU1NwH5uR\/u8VKDjnZGevGs0lKSza0X5Of6U3SX8X05UnpLtr\/AEp98tW1H4G0QQjpkdvHe4fBU6KG0uCNHQze9Uf0XwRNws2qK0srZ5KczUuXRiM4f04GBv4c5WsklqKqzVFVU32oMsZDHUhzvJ7eHHm5j2\/SVD6ktcNx1RBRUbOTnlYXTPx6o4nOOzf7+lWwnd2ZixOH2FtRbd8s3x4HU6ctNvscVwuk0\/KOjDhE14GXEZ2RuyvfTGl4KiF9fcKYFkp+Qhc4+qM8T\/z4rPpdJB9Z6Xdqx9e8H1WP9nHX9W4KjAAGAMAKMqjtZMtpYSLkpSjZLh8s8Ke30VL+L0kEXWyMBZCIqT0EkskEREOhERAEREAREQBERAF4yUlNMwslp4ntPFrmAhey4c4NaXOIAAySeZDjSepGattlrpIqeCjoWCtqZA2MRkjAz0ZxvJA7+hZTNFGniYaO61FNOGjbLT6pdjfjGCAutkDr\/qOovMgJpqY8nTA8M9Pdv97gqxXSnKNo3MFKhTqt1Gsnpw04+ZL7Gr7afVfBcYm78HAcR0cx+PkvSl1jA2cU11pZaCbG\/bBLfrHcqReNTSU9ZGY6mCOZhGMPaCo7SeqLuhnDs5+Tz\/JN6tlint1Fd6KVs3os4LXMORv38ebeAqeKRs0TJWHLXtDmnqKl7loindBI62zyQEjJiJLmvxvA6fitfZL\/AHymtw2KAVlJT\/JnZGHtxjdu6j0fAqeypR6r0KFVlSqvpFa\/LPQu10E0RlMQkYZBxZtDI7FNTa4ojQTmNksNW1pDI5Gfne8dHXjgsS3aZfWWaG4R10jLk\/5RsvKEgAjc0n48+8qGxZdbIueJUnaktrj\/AHvLNFoLLfZjUm1XgclXsPquwA2Uc2Otb9QaaeZfTqRqK6CmLL841leKnjyYEWRwHAY\/yeCpnODWlziAAMknmU1otpljuFcQcVFSSHHi7G\/+ZSjutlVXOrCPi\/RfkpkRYtfcaW2UxqKuURs4DpcegDnUErmhtRV2cXO4Q2ugkrJ8lrBuaOLieAC1GlKOd0c14rgDU1pBadkDDObHUd3cFh01NWasrWV1dHyNtiOYYTxk6z09Z7udVrWhrQ1oAAGABzKx9VW4mWF60+ke6tO\/v+xyiIqzWEREAREQBERAEREAREQBERAFPatr3spGWulyamuOwAAdzOf6vdlUKxHWujdc23IxfOWsLA\/J4e7v71KLSd2VVoynDZjx9jrabey12yGjZgljfWcPznHie9ZqIuN3zLIxUUkgiIuHQpBszdJ6gqjNG9turMOY9oyGu3nHxGOjCr10kijmYWSxte08WuGQpRlbUpq03OzTs1oSAp3axu7al1PyNupz7Tm4dNw3ZHuHuCy36NFNKZrVcaikfu9XOQe0Y8+dUrWtYwMY0Na0YAAwAF2UukfDQqWFg855vmRNz05qSrEfK1VPVGI\/JvGGvHbgfErmn1Zd6Gdturbb6RUs9UgOIe\/o4Ag9nFWq1l4sdNd4wXkxVEYPJzs9pv1jqUlUTykiueFlC8qMnf39SfuusJXW6andbaiklmYWte84xnjxHvXFn1A62WqGjis1XI9g9ZwbjacTk83\/ADC2dPpiWStiqrpXvrOQOYmEbh788ebuVCjlBKyRynSryltylbgskS5vWobiQy32j0VruMtRnd178ea7UeknS1IrL5VmtmByI8nYH1jq3BUyKG3bTIvWHTd6j2vb0OGtDWhrQAAMADmXKIoGkIiIAiIgCIiAIiIAiIgCIiAIiID\/2Q==",
    "razonSocial": "TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "EMERSON ORDOÑEZ",
    "correoContacto": "eordonez@mercosurltda.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "REPUESTOS PARA ATASCO DE PAPEL",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-R839\",\"id_control\":\"29040\",\"cantidad_usada\":1,\"cantidad_asignada\":2}]",
    "horaSalida": "11:48",
    "ubicacionGPS": "LatLng(lat: -23.7719136, lng: -70.3229829)",
    "horaLlegada": "11:46",
    "horaDespacho": "11:30",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:47:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:47:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:78876040

[16/06/2026 11:47:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('78876040', 'EP2355', 1, 24456550, 42578, NOW(), 
				'11:30', '11:46', '11:48', 4, '•Se reemplaza rodillo bandeja interior
•Se limpia guía de cabezal
•Seimpia unidad duplex', -1, 
				'', '','1','130077',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781624879.png', '', null, 'COMPLETADO','LatLng(lat: -23.7719136, lng: -70.3229829)' )
				
[16/06/2026 11:47:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200736
[16/06/2026 11:47:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200736', 'EPS-R839', 1)
				
[16/06/2026 11:47:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29040 and
				    IDproducto = 'EPS-R839'
				

16/06/2026 11:47:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-R839';
                
16/06/2026 11:47:59 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200736'                    
				WHERE idllamado = 13054			
				TO ENVIO: micorreo@miempresa.cl, eordonez@mercosurltda.cl, dsprint@gmail.com


16/06/2026 11:47:59 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13054			
				
16/06/2026 11:47:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:11 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:48:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:12 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

[16/06/2026 11:48:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13054
            GROUP BY l.idllamado;
            

16/06/2026 11:48:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13054
                

16/06/2026 11:48:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:54 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:54 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:54 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:48:54 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:48:54] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:54 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:48:55 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:48:55 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:48:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:48:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:48:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:12] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13005
LIMIT 1;
        

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13005
                

16/06/2026 11:49:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:49:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:16 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:17 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:17] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:20 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:20 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:20 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

[16/06/2026 11:49:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:20 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:21 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

16/06/2026 11:49:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:21 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13004
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13004
                

16/06/2026 11:49:21 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:21 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:21] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:23 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:23 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

[16/06/2026 11:49:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:23 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:23 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:49:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13003
            GROUP BY l.idllamado;
            

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13003
                

16/06/2026 11:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:24 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

[16/06/2026 11:49:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:25 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:25 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:25] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:31 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:49:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:31 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 11:49:31] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:32 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:32 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

[16/06/2026 11:49:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:49:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12964
            GROUP BY l.idllamado;
            

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:49:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12964
                

16/06/2026 11:52:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:52:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:53:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:17 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:53:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:53:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 11:53:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 11:53:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 11:53:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 11:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:53:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:53:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:53:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:53:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:16 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:16 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:54:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:54:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:54:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 11:54:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

[16/06/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:54:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

[16/06/2026 11:54:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13051
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:37
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2060
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:54:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:54:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 11:54:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:54:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:54:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 11:55:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 11:55:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 11:55:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:02 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 11:55:02] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 11:55:02 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => AM-C6000
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DSPRINT MALL ANGAMOS
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 95111827
            [ModeloMaquina] => L8160 ECOTANK PHOTO A4
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 11:55:02] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 11:55:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 11:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 11:55:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-jX7WM_DndTBM8x4fcUUP0lbhWoF35AfybQuJKkCZ-KOZC4Hack-
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "KY2060",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13051",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADtAO0DASIAAhEBAxEB\/8QAGwABAQEBAAMBAAAAAAAAAAAAAAYFBAECAwf\/xABDEAABAwMCAQgGBggFBQAAAAABAAIDBAURBiExEhMiQVFhcZEUMoGhscEHFSNC0eEWJENScsLw8TNTgqLSJjZiY7L\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIDBAkEAwEAAAAAAAAAAQIDERIhMQRBUaEiMmFxgbHB0eETFJHwM1JyQv\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBEWPqe5yWy0OdTnFRM4RxdZyeJA8PkupXdiE5qEXJ7j4\/XdRV6mjt9vDJKeEH0qQjgewHy9vgt5ZdgtDLPbmxHeeTD5nHfLscM9g\/ritRdla+RCip4bz1fLsCIiiXBFiWy7VNfqG4UuGei0uGtwN+VnG59hW2utW1IQmpq6CIi4TCIiAIiIAiIgCL1fIyMZe9rR\/5HC9GVVPI7ksnjcewPBQ5dH1REQ6EREAREQBERAEREAREQBSkzBftaCIuD6W2tyW9RfnceeM\/wqiuFWygt89W87RMLvE9Q81j6Mo3Q2l1ZLgy1jzITjBwNh8z7VZHJORlrdOpGn4vw+ShREVZqC9ZHtijdI71WAk+AXssjVFUKTTtW7ODIzmxtx5Wx92V1K7sQqSwQcuBw6JjLqCqrngB9TUEnwH5kqlWbp6lNHYKOE7Hmw4jsLukfitJdm7yZDZ44aUV2BERRLgiIgC5q+4UttpjUVcojYOGeLj2AdZXHe77BZ4ACOdqZB9lCOLj2nuWbbtPVFwmbcdQPM0p9SmPqxjv\/AA88qajld6GedV4sFNXfJd\/sejtQ3m6OLbLbC2Ig4nnGx7xwHxXsNPX6rHKrr\/JHniyEHHuwPcqdrQ1oa0AADAA6l5XcdtER+3xZ1JN8lyJpmhbZsZp6qZ3WS8AfBe79D2dzcATsPaJPxCokXPqS4kvtaP8AVEw7SlbRdKz3ieLH7OY5aezhtx7uteGaiudoe2G\/UJLOAqYBseHEcOvqx4KoXrJGyVhjkY17HcWuGQV3HfrZkft8OdJ25r8HxpK6lr4zJSVEczQcEsdnHj2LoUtctMGhcblYXPgqY+lzIOWuHWAD8OC17HeI7zQCYN5ErDyZWY9V34LjirXRKnVliwVFZ8maSIigaAiIgCIiAIiICa1lM+aGjtULiJKyYAgfug9Y8SD7FQwxMp4I4YxhkbQ1o7gMKbaDc9eudxit0WNztysdni73KoVkskkZaPSnOfbb8fIREVZqCl9YE1dRbbUwkmom5Thw24fM+SqFLQn6z17LIQHRUEXJGcHpf3J8lZDW\/AzbTnFQ\/s0vcqGtDWhrQAAMADqXlEVZpCIiALKv19is1OMN52pl2hiHWe093xXVc7jDaqCSrn9VmwaOLj1ALF05bJquU3y6t5VVKcwtdwYzqIHw7lOKVsTM9Wcr\/Thq+S\/dD6WGxSNlN1u2Za+U8oBxzzQ\/H4dSoURRlJyd2WU6caccKCIi4WBERAEREAUncs6c1LDcIgG0daeRO0bNa7bJ+B81WLC1lT+kacmcG5MLmyDu3wfcSpwfStxM20xvTclqs14G6i\/O57ldLvRz10VRNBBQwxt5LXYDnHDXHbHaSrq2VPplspqnrkia4+ON0lBxQo7TGrJpL5OpERQNIREQBek0rYYXyv8AVY0uPgF7rH1XVGl07VEetIBGP9RwfdldSu7EKk8EHLgcWiozJR1dweMPq6gk752H5kqlWfYab0OxUcJGCIg5w7Cdz7ytBdm7ybIUI4KUUwiIolx855m09PJM\/wBWNhcd8bAZU9oqF7qCpuEv+JWTFxO+4H5ly6tX1founZwPWmIiHt4+4Fd1mpPQbPS0xGHMiHKGPvHc+8lWaQ7zM+ltCX9V5naiIqzSERYWq7jNR2+OlpW8qorXc0wDjg7HHfuB7V2Ku7EKk1Tg5PcZ+BqvUROeXa6Hq3Akd\/f3DvVYAAMAYAXFZrXHaLbHSx4Lh0pHD7zusruUpO7stCuhTcVil1nr+9gREUC8IiIAiIgCIiALO1A9jNP1xfnHMuG3aRge9aKntbzc1p1zM456VrOHH738qlBXkimvLDSk+w4LTEyP6PapzTvIyVztuvh8AFs6V\/7aov4T\/wDRWPbncn6OpzjP2cg83ELa0w3kacohnPQz5klWT0feZdn68P8APqaqIipPQCIiAKY1ePS6q12wb8\/PynDu2GfeVTqYqv1v6QKWPi2lpy4jvwd\/e3yU6etzNtWcFHi0uZToiKBpCIvDnBrS5xAAGST1ICX1CDctSWy1t6TGHnpQBnbv7NgfNVKltNE3W93C9P3ZnmYcjgPlsB5lVKsnlaPAy7P0sVTi+SyQREVZqClaIOvmsJq0nNLbxyIsZwXf3yfJbd7r\/q2z1FUCA9rMMz+8dguLSNAKKwQuLQJKj7Vx7QeHuwrI5RbMtXp1Y09yzfobiIirNQREQBERAEREAREQBSGv3k09DAOL5HEDwAHzVeonX0n61RxnGBHId+G\/9vgrKXXRj252oS8PM96Rxb9G0xHY4eb8Kh080N0\/Qgf5LT5qdmPM\/RpGx3GTGPbLylUWmPmrPRR4xyYGA7Y+6FKej7yvZl04\/wCUdiIipPQCIiAKXsI9K1beK3chh5kE+OP5FTuIa0uOwAyVNaHBfbquqOxmqScdmw\/Eqceq2ZqudWEe9\/hfJSSSMijdJI7ksYC5x7AFgQaup5rgyA0srIJJDHHUH1Xkdn9HiF9tW1hprHJEzeWqIhYM7nPH3fFZWoqA2\/SFBTt6MkErCTygMOIcTv4lShFPXeV16s4t4P8AlXfsWCxNWXF1BZ3Rw55+pPNMwN9+Pu+K2WuD2Bw4EZUs1zr9rMOaQaS2DIIwQX\/jn3NUYLO73Fu0SeDDHWWX74G5ZLf9WWinpSAHtbl+P3juV3oii3d3LoxUYqK3BERcJExq8vrKm22hjiPSZeU\/BxgDA+ZPsVK1rWMDGjDWjAHYFOQQTVmvJ6mSN7Y6KENYXDiSPzcqVTlkkjNRV5zm97t+P1hERQNIREQBERAEREAREQBQv0gA+m0ZxtzbvirpRuv4Q+S3kOAc4vbv\/p3VtLroxbcr0H4eYv7TTaGt9Pgh7zGC3rzyST71Xws5qFkf7jQPJTOqYS6ssdIwHmjPgkDOMFgHxKqVyT6K8SVGNqsuxJcgiIqzWEWDqW9S0TI6G39OvqCA1oGS1vb4\/msypp7lpV8Fw9MkrKZx5NSx3AE9Y38ipqF0Zp7QoyaSulq+BS3eYU9nrJSccmB5Hjg4964NHwmLTdMSMGQuf\/uOPcAvGqapv6KzyxnaZrA09oJHyyuasuH1HpKkhiJ9KmgayJoznlEDJHhn4KSTcbdpCc4xrOT0UfN\/BzgnUWscjDqK2DG4yHO\/MjyatXVNFNXWOWKnY58rSHNa07u7fHY8F76ctH1Na2wPwZ3nlykdvZ7B81qrkpWkrbjtOi3TePWWv72El+lM9ZQR0dtoZ5ax8QY+QDDY3Y4gjOe3qWzp+0CzWttOSHSuPLlI4co9ndstMNDRgADwXlccsrJE6dFqWKbuwiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAoXV7Zbne300GT6FTGRwxnvPuLVcucGtLnEAAZJPUpjSTDW1Vyu8jdqmUsZkfd4n5D2Kym8N5GPao\/Uw0uPobFirhcbLTVGcuLA1\/8Q2PvC0FHvbUaOuLpWMMtpqH9JrRvEf681VU1VBWQNnppmSxu4Oacrko2zWhZQqXWCXWWvufZcF4usVot76iQgvwRGzre78O3uXzu1\/obQzE0gfMR0IWnc+PYO8rJt1rrr3cY7temCOOIZp6bG3iR5ePgMJGO96HKlV3+nTzl5d59tN2mUyOvlxJdW1IJa0j\/Dafyx4DZbF0pBXWyopi0O5xhwDnGeI4b8cLrRccm3cshSjCGD9Z+dVdzFRommpC\/EsVQI3g9TQCR8vJbNng+vrx9aSj9To\/s6VhB3wdnePX5di49RWWk\/SSiii5bRXS5mY3YAZGSO\/1laQQRU0DIIWBkcY5LWjqCunJKOW8wUKM5VGp6Rsu+2h9ERFnPUCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgMTVteaCwzcl2JJ\/sm+3j7srrsdCLdZqam5IDwzL8DHSO5WLcCb1rGmoAc09AOdlxwLtj+A81VKyWUUjLT6dWU9yyXqeksUc0bo5WB7HDBa4ZBWBJoq2mQOp5ainGek1kmcjs39vmqJFFSa0Lp0oVOsrmPbNL2y2PbJHEZZWnIklwSD3di2ERcbb1OwhGCtFWCIi4TJivxPr63RnhFAXEHtw78lTqYi+2+kSfH7GmGfJv\/ACCp1Oe7uM2z5ub7WERFA0hERAEREAREQBERAEREAREQBERAEREAXPX1sVvoZqub1Im8rHaeoe04C6FL6oc66XGisULiOccJZi37re\/3nyUoq7Ka1Rwg2td3efbR9G5lDLcZ2\/b1sheXcej\/AHyVRLKul5oNP0bGP9ZrA2KBnEgbDwHeuaxfXdXVPuNxfzEEjOTHS44DqJ7Pie7ZSacryZXTlGnais3v92byIirNQREQBERATFoHOa3u0p4tYGDw6P8AxVOpjTHT1BfnniKjk\/7n\/gqdTqambZf478W\/MIiKBpCIiAIiIAiybvqKitBETsz1LvVhj3d3Z7F12yoqaq3xT1dMaaZ4JdGerfb3YXcLtcrVSLm4J5o5NQXaos9PDVRU7ZoecDZiSctHd+PgtOKWOeFk0Tw+N4DmuHAhfOspIq6jlpZhlkrS093ep3TtZNaa12nrhs5pLqeTOzgd8fh7QpJJxy1RVKbhV6XVfJ\/JUoiKBpCIiAIiIAiLjuV1o7TBz1XKG\/utG7neAXUr6HJSUVdvI6ZZWQxPlkcGsY0uc49QHEr87t1zrqq81dVQ0xnrqk4je4bQs\/sAN+GOvK2Gx3XVz+clc+gtf3Wt9aUfP4eKpLbbKW1UraemjDQAOU7G7z2lWpqCd9TDKM9pknHKK38e73Muz6ZbTTenXKT0ytduXP3aw92ePj5LfRFU5Nu7NdOnGmrRQREXCwIiIAiIgJjSXSud7kJy51Tv5v8AxVOpjRm7ro47k1Jye3iqdTqdYzbJ\/CvHzCIigaQiIgCmbtqCoqas2ixN52pds+cHox9uPx6vFffVVfURQ09toiPSK5\/I4nIbwztw3I37iu+0Wals1KIadoLyPtJSOk8\/h3KxJRV2ZZuVSTpwdktX6I5rLpumtX28h9JrH7vmfvg93Z48Vsoig227svhCMI4YrILMvNkp7zAGvPNTs3inaOkw\/NaaIm07o7OEZrDJZEl6fqHTm1fD9Y0bf2zTlzR3nj5j2rftt5oLqzNJOHOHFh2cOPV7F3LEuGk7VXyc7zTqeXjy4Dycnw4Kd4y1yM6p1afUd1wfv7m2imP0Zu1MMUV\/nDepsmSAPM9fcE+otRu6Lr+Q08SGnK5hXE79apvpvl7lMXBoy4gDtKzKrUlno9pK6Nx7Izyz7lmDRMc7g6vulXVOHWTj45WlS6as1JvHQRuOc5k6fxyu2gt4xbRLSKXe7+Rlv1Hcby8wafpCGjZ9TMBhvs4fHwXTQaVjbN6XdZ3V9VkHL92t7t+Pw7lvhoaMNAA7AvK457o5BULvFUeJ8vweAABgDAC8oigaQiIgCIiAIiIAiLkuNzpLVTGoq5OS3gGjdzj2AdaJXOSkoq7MDSc0dK68c89rI4qglz3HAxk\/gvM96uN9qzR2EGOBrsSVjht7M\/38Fi2K2u1FXVrnTvho+eEskIO78lxA9mDur2lpKeigbBTRNijbwa0K+doy7TztnVSrTSTtHm8+R9GhwYA48pwG5xjJXsiKg9ILjulyp7TQvqqh2GjZret7uoBdilLiBfNYw25x5dLSM5crOUcE\/wBFo8\/BSirvMpr1HCPR1eSPpYaKputd9f3NjQ4j9Vj\/AHG77+\/r8VTrwAAMAYAXlJSuztKmqcbb9\/aERFEtCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi9XvZGwvkcGNaMlzjgBTNZqKrudQaDT0ZkdnElS4dFg7s\/E+wKUYtlVSrGms9eG80r1qCltEZaTz1UR0IGnc957As222OqulX9aagaHO\/ZUp9Vg7x8vNdto0zTW5\/pVQ81da48p00m+D3Z+PFbaliUcolSpyqPFV03L34kxp0CDVF7p8cnlPDwPaT\/ADKnUxRfZfSDXt6pKcHHfhn5qnXJ63O7NlBrg35hERQNJ4c4NaXOIAAySepTOjgat9xurwS6on5IJ7Bv8x5LWv8AUmksNZMDgiItB7Cdh8V8dLU3o2nKRpG72mQ7ceUcj3EKxZQZmn0q8VwTfp7muiLC1bXy0lrbT0zy2pqnhjOScHHWQerqHtUIq7sXVJqnBye43UXwooZKeihhllMsjGBr5HHJccblfdcJLNBERDoREQBERAEREAREQBERAEREB4JAGScALFueqrdQDkRP9LnPqxQnOT1ZPAfHuWtU08dVTSU8oJjlaWuAJGQe8LkoLFbbY4PpaVjZBnpnpO8ypRw7ymoqryhZdvwYjLTeNQyc7eZXUlJnLKWM4J8fz38FSUdFT0FOKelibHGN8AcT2lfdElJsU6MYO+r4vUIiKJcTFR9l9IlL\/wC6mPwd\/wAVTqYvX2WsrPMeDgWDx3H8yp1Oei7jNQylNdvogiIoGkxdXMLtNVWM5BYdv4gPmu2zPD7JQuGBmnZsOrohfespY62jlpZfUlYWnHVlStFeZ9LRm23amkfHF\/gzQNBDgcnG5Hf3qxLFGyMlSSpVsctGrFgpKg\/6j1ZJXnpUdB0Yexzuo+eXeSV2p5btTS0Vooakyygs5x4DQB19ex4res1rjtFtjpWYLh0pHAes7rK7bAs9Tjkq80o9VZvv3I70RFUbAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgJfWg5l1rrv8ip7cccHj\/pVQuG72qG8UJpZnOY3lBwc3iCPyyuxjeQxrASeSAMnrUm7xSKIQcaspbnY9kRFEvC8EAjBGQV5RAeAABgDAC8oiAIiID\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "CLAUDIA",
    "correoContacto": "claudio.carvaja@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56977478398",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29037\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "11:56",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "11:49",
    "horaDespacho": "11:28",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[16/06/2026 11:55:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'KY2060', 1, 9291721, 0, NOW(), 
				'11:28', '11:49', '11:56', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781625333.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 11:55:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200737
[16/06/2026 11:55:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200737', 'KYO-I647', 2)
				
[16/06/2026 11:55:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29037 and
				    IDproducto = 'KYO-I647'
				

16/06/2026 11:55:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
16/06/2026 11:55:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200737'                    
				WHERE idllamado = 13051			
				TO ENVIO: micorreo@miempresa.cl, claudio.carvaja@veltislatam.com, dsprint@gmail.com


16/06/2026 11:55:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13051			
				
16/06/2026 11:55:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 11:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 11:55:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:55:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13051
            GROUP BY l.idllamado;
            

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:55:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13051
                

16/06/2026 11:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                
=========================================
FECHA: 16/06/2026 11:56:55
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-MsK9-zCQ7XCgNpEgTgcVRQwbnV6507jTjnbr49rCM55lDvB7uG3
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3097",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "145898",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "cambio repuesto\ntoner",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13024",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACdALcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABGEAABAwMBAwgFCAcHBQAAAAABAAIDBAURBhIhMRMiQVFhcYGxFjKRodEUFSNCUsHS8CQzVFVyk6MHJSY0Q2KCRJLC4fH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAvEQACAQIDBQcEAwEAAAAAAAAAAQIDERIhMQQTMkFRFCJhgZGh0UJxseEzUsFT\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAFPXHUkvzgbZZ6YVdW3O0T6jSOIO8cO\/sW7qK4PtllmqIh9Jua3fjBJxleNN2mG2WuNwbmedjXyvO85IzjPUFeKSWJnNUlKU93B25tnOFJrGpAc+upaUEk7AAyPY0+a+\/NGqgNtt8jL85wW83y+5U6JjfRDs0ecn6sly\/WFBz5BT17RjczAPkD+e9bVv1bQ1czaapY+iqSccnKN2erPxwu8tK5Wiiu0PJ1cIccYa8bnN7ipxReqI3VSGcJX8Hn76m6ikGy3TSLw2ocay1bw0tHOj6s9Xl3Kqp6iKrp2VEDw+OQZa4Kso2zNKVVTyas1yMqIiqbBERAEREAREQBERAEREAREQBERAaN4tou1tkozIIy8gh5btbOD1e7xWzSwmnpIYXP2zGxrS7GNrAxlZUU3drFcCxYuYREUFgiIgPEsUc8L4ZWB8bwWuaeBClIeV0jeWUxeX2usdzS7\/Sd+cd47lXLQvVsZdrXLSuA2yNqNx+q4cD93irxlbJ6HPXpuSxR4lp8eZvouHpG4SV9kaJjmWndyRJ4kADGfDyXcVZKzsa05qpBSXMIiKC4REQBERAEREARcqu1Nabe9zJaoOkbxZGNo927cuadZPqXbNstFTVf7juHuz1K6hJ8jCW0Uouzln6lOimOV1jWnmw0tC3rOD+LyXz0Yu1Vk19\/mIdxZFnZ8wOHYpwJasrv5Pgg37fkpJaiCAZmmjjHW9wHmtOS\/WiIkOuNPkccSA+S5kOhrTGcyuqJyeO2\/HkAtxmlbHHjFvYcfac4+ZUWh1GLaHpFLz\/R5dq2xNxmvG\/qjefIL56X2H9v\/ov\/AArbbY7S3OLbS7+uFp8wvXzLav3ZR\/yG\/BO54i209Y+j+TS9L7D+3\/0X\/hT0vsP7f\/Rf+FbvzLav3ZR\/yG\/BPmW1fuyj\/kN+CdzxFtp6x9H8mBmpbLJ6txhH8WW+a2oblQVAzDW08n8MoK1X6bs0mc26EZ+yMeS1ZdF2ST1aeSLd9SV335TueIvtC5J+p3kUudGGnGbddqqnc3e0OORnwwn+LrZgnkLlED0bnY9x8+KnCnoxv5x44PyzPtjHyLV93oWnLXgTDs4H\/wA1TqFt97hdrKWsrYzQh8PJlsv1XYHHdu4K4Y9kjQ9jg5p4FpyClRNNXKbJOMotRejZ6REWZ2BERAF5e9kbC+RwY1oyXOOAFgr6+nttI6pqXEMb0AZJPUFNQUdfq1\/yqvfJSW\/P0UDDgyDoJ+OO5XjG+b0MKlXC8MVeXT5Nyt1bCZvktop319SeGwDsDt7fLtWqyw3q85kvNwfTxO\/6aE7vEcPNUdFb6S3QCGkgZE3pwN7u0npWypxpcKKbiU86rv4LJfs5dFpu00AHJUbHv+3Lzz37+HgumAAMAYAX1FRtvU6IwjBWirBERQWCIiAIiIAiIgCIiAIi8ve2NjnvOGtBJPUEBJtoqe8a3uLKqITQRQBoBJ3HDerh9ZZJdN3O0yGew17y0caaV249gzuPjjvWXSLHVb6+8SDnVUxDOxo7PH3e2lWspOLscFKhCpDG9W2789ThWnU8VdVGgrIXUla0kGN3qk9QPX2Lurl3yyQ3imxnk6mPfDKNxaeo9i1NOXmapfLa7lzK+mODn\/UA6e\/zyCoaTV0bQnKEsFTO+j\/z7nfREWZ0krXRi\/6ubQSBxpaBu3I36rycbvfjwKqQABgDACmbN9HrO7xuOHOaHAdmR8R7VTrSfJHLsyvik9W37ZBERZnUEREAREQBERAEREAREQBERAFP6uuJp6BtvgBdU1x5NjR1Hcenpzhd6SRkUbpJHbLGAuceoBS9lidfb\/NfZR+jwkxUrT2dOPEnvPYrwX1Pkc20SbSpx1l+ObKC2UTbdbYKNpzyTME9Z4k+3K2kRUbudEUopJBTmqbbKORvFvafltK4Z2Rkvb3dOPIlUaK0XhdylWmqkcLMdPI+WmikkYY3vYHOYfqkjgiyIqmiJa9udZNS096LC6mmbyM+Bw\/O4+Cp2PbJG2Rjg5rgC0jpCxVlHBX0klLUs245Bgj7wpeCsrdJVQoq4PqLa8\/QzAZMf5HR7FpxrxORvcTbfC\/Z\/DK9Fip6mCrhE1NMyWM8HMOQsqzOpNPNBERCQiIgCIiAIiIAsNTVQUcJmqZmRRji5xwFmU9rYPOnnBjC76VmcdA\/+4HirRV2kZ1ZuFNyXIoAQRkHIK+rStldRVlJGKOpZM1rANx5wwBxHQvVzuMNqoJKuf1Wbg0cXHoAUWd7E444cV8ji6trZJmw2SjcHVNW4B42sbLeo9WfIFd2goorfQw0kPqRN2c9Z6T4nJXD0vbqiSSW+XHJq6r1Aehm7Bx0cPZ3qkV55d1GFBOTdWXPTwX7CIizOoIiIAiIgCxzQx1EL4ZmB8bxhzXDcQsiINSYm0rPb5zV2CrNO88YJDlrhnOM\/HPevMeqq23bEV9tkkJJxy0Yy0\/d7CqleXsZI0se0OaeIcMgrTHfiVzl7PhzpPD4cvT4NKkvlrrcfJ66FxPBpdsu9h3rfXGrNJ2asyTS8i8knahds+7h7lo+ilfSH+7b5URN4COTJGPA44diWg9GTjrx4o3+z+SnRSzabWVKcNq6WqaBuDsfAH3r0bvqiAkT2OOTHTE7j7yowdGh2lLii15fBTopj0srov8AM6eq4x9oZPm0J6bRN\/W2usZnhzRvTdyHa6PX2ZTopj08tzd0lJWMPVsN\/Enp9av2es\/7G\/iTdz6DtdD+xTry5rXtLXtDmniCMgqaGvbWeFPWH\/g38SemfKf5az1kvXux5ZTdy6DtdD+xnrdHW+eXl6N8lDMODoTzc9ePgQpV77lX1A2jLeKK3vyTjAeOnfxPDt9661y1Pdp4xQstD6WWqBYwPLi4jgcDA9q+2qn1Tb6JtLSW6lgZkkue4Fziek87s6ltHEl3jz6m7qTtTTtzsn5ZaHXodWWmqIjfKaSQDBZONkA9WeC7bXBzQ5pBBGQR0qNrNOX+7uLq2Wga7HrBg2u7Ibn3rBVaSvVFQ7NHXvnYOMEbyzjxwM4P3qjhB6M6Y168U7wuvT2zLaSaKEEyysYAMkucApy\/X+ennYbbcreYtnD2ueHODs9mVx7JbbHXTCmuHyqGvDsGGZ+Nrd0bh7OKqYNL2Wn9SgYd2DtuLs+0paMHmSp1a8O5Zebv+CPfrW8NdgTQPHWIvit2mverqsZgoy4EZDjBsg+J3Kzho6Wm\/UU0MX8DA3yWZHUjyiRHZav1VH5HHsjr898hvEcTGY5gZjOfAlF2EWTd3c7YRwRte\/3CIiguEREAREQBERAEREAREQBeXvbGxz3nDWgknqC9Kf1nVvgsop4t8lVIIwMcRxP3DxUxV3Yzqz3cHLoamnIXXm71V\/qY+btbFO131cdPgMeJKq1rW6jZb7fBSRgARMA3dJ6T4nJWypm7srQp7uFnrq\/uERFU2OXd9P0N5j+nZsSjhMwAO7j1jsXHo7xX2CrZbb23apzzYasDdjoyenzHaqxad1t0V1t0tJLweMtd9l3QVeMuT0OarRd8dPKX5+5tggjIOQV9U\/pOumfTT22rOaihfyZ6ct4Df4EexUCrJWdjWlUVSCkgiIoNAiIgCIiAIiIAiIgCIiAIiIApjUGJtU2WGQBzGuLgO3I+AVOpjVgdSV9quYYSyGbEhHVuPltK9PiObav47+K\/JTovjXBzQ5pBBGQR0r6qHSEREARF5c5rGF73BrWjJJOAAgJqACn\/ALQahrM\/T0+Xb+wfBU6lrA5141FW3rGIGjkYcjj+QM\/8lUrSeqRzbNnFyWjbsERFmdIREQBERAEREAREQBERAEREAWtcKGG5UMtJOMskGMjiD0EdxWyiaENJqzJCju1XpYNt12gklpmuxDUx7xjq38ce7tVPSV9HXN2qWpjmH+x2SPBZZYo5o3RyxtkY4Yc1wyD4LhVWi7TM4PgEtK8EHMTz19RzjwWl4y1yOVQrUsod5eOT9SgRTHojVs\/UagrI8cOO72OCeiNW\/wDX6grJM8eO\/wBriowx6lt7W\/5+6O3W3Whtw\/SqmON2MhmcuPc0bypt9Rc9YO5GnidR2rPPkd60mD\/64DcOkrq0WkrRRv5Qwmokznamdte7h7V2mtDWhrQAAMADoU3jHQh06lXKpkui\/wBZho6OCgpI6WmZsRxjAH3lZ0RZnSkkrIIiISf\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "JOSUE DANIEL LEAÑO MENA",
    "correoContacto": "jleano@liceob8.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CAMBIO DE UNIDAD DE IMAGEN.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"29017\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R1289\",\"id_control\":\"29027\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "11:57",
    "ubicacionGPS": "LatLng(lat: -22.4586088, lng: -68.9314265)",
    "horaLlegada": "10:26",
    "horaDespacho": "10:09",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 11:56:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 11:56:55 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 11:56:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3097', 1, 21773342, 145898, NOW(), 
				'10:09', '10:26', '11:57', 4, 'cambio repuesto
toner', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781625415.png', '', null, 'COMPLETADO','LatLng(lat: -22.4586088, lng: -68.9314265)' )
				
[16/06/2026 11:56:55] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200738
[16/06/2026 11:56:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200738', 'TOS-I1145', 2)
				
[16/06/2026 11:56:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29017 and
				    IDproducto = 'TOS-I1145'
				

16/06/2026 11:56:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I1145';
                [16/06/2026 11:56:55] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200738', 'TOS-R1289', 1)
				
[16/06/2026 11:56:55] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29027 and
				    IDproducto = 'TOS-R1289'
				

16/06/2026 11:56:55 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R1289';
                
16/06/2026 11:56:55 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200738'                    
				WHERE idllamado = 13024			
				TO ENVIO: micorreo@miempresa.cl, jleano@liceob8.cl, dsprint@gmail.com


16/06/2026 11:56:56 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13024			
				
16/06/2026 11:56:56 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 11:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:58 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:56:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:56:58 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:56:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:58 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 11:56:58] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 11:56:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 11:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13024
            GROUP BY l.idllamado;
            

16/06/2026 11:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 11:56:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13024
                

16/06/2026 12:01:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 12:01:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:52 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:52] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:01:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:01:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:17 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:02:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:02:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:02:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:02:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:02:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:02:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:24 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:03:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 12:03:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 12:03:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:03:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:03:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:03:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:03:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:03:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:03:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:11:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:11:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:11:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:11:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:11:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:11:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                
[16/06/2026 12:12:58] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 12:12:58 - INPUT: {"rutTecnico":"27729424"}[16/06/2026 12:12:58] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 12:12:58 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 28/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 28/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => MFC-L6700
            [FechaLlamado] => 27/05/2026
        )

)

16/06/2026 12:13:01 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:13:01] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:13:30 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:13:30] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:13:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:13:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13060
            GROUP BY l.idllamado;
            

16/06/2026 12:13:36 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:13:36] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:13:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:13:38 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:13:38] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:13:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13061
            GROUP BY l.idllamado;
            

16/06/2026 12:13:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:13:45 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:13:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:13:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:14:18 - INPUT: {"rutTecnico":"21773342"}[16/06/2026 12:14:18] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 12:14:18 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

)
[16/06/2026 12:14:18] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 12:15:06 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:10 - INPUT: {"rutTecnico":"27729424"}[16/06/2026 12:15:10] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 12:15:10 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 28/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 28/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => MFC-L6700
            [FechaLlamado] => 27/05/2026
        )

)
[16/06/2026 12:15:10] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 12:15:12 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:12] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:16 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:15:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13061
            GROUP BY l.idllamado;
            

[16/06/2026 12:15:16] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:18 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13061
            GROUP BY l.idllamado;
            

16/06/2026 12:15:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:20 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:20 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:20] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13060
            GROUP BY l.idllamado;
            

16/06/2026 12:15:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13060
            GROUP BY l.idllamado;
            

16/06/2026 12:15:23 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:24 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:24] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:27 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:27] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:15:51 - INPUT: {"rutTecnico":"27729424"}[16/06/2026 12:15:51] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 12:15:51 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 28/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 28/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => MFC-L6700
            [FechaLlamado] => 27/05/2026
        )

)
[16/06/2026 12:15:51] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 12:15:53 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:15:53] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:15:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:16:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13060
            GROUP BY l.idllamado;
            

16/06/2026 12:16:00 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:16:00] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:16:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:16:03 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:16:03] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:16:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13060
            GROUP BY l.idllamado;
            

16/06/2026 12:16:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:16:04 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:16:04] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:16:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:16:06 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:16:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13061
            GROUP BY l.idllamado;
            

[16/06/2026 12:16:06] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:16:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:16:11 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:16:11] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:16:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:17:43 - INPUT: {"rutTecnico":"27729424"}[16/06/2026 12:17:43] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 27729424 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '27729424'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 12:17:43 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 28/05/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 6529A
            [FechaLlamado] => 28/05/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 79783050
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 28/05/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76132593
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 27/05/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => MFC-L6700
            [FechaLlamado] => 27/05/2026
        )

)
[16/06/2026 12:17:43] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '27729424'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 12:17:45 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:17:45] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:17:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [14] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13052
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA RUIDO AL IMPRIMIR Y HOJA SALE DOBLADA EN LAS ESQUINAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2209
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:17:49 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:17:49] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:17:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [14] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13052
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA RUIDO AL IMPRIMIR Y HOJA SALE DOBLADA EN LAS ESQUINAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2209
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:17:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:52 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:17:52] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:17:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:52 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [14] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13052
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA RUIDO AL IMPRIMIR Y HOJA SALE DOBLADA EN LAS ESQUINAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2209
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:17:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:18:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:19:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:19:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:22:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 12:22:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-CqLNWR5MKUEbj2jj0_tPAgr1Rg2TIemsHX7F.JMfHESyyqiRecH
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76050301",
    "serieinterna": "EP2209",
    "correlativo": "5",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "18655",
    "contadorColor": "64976",
    "contadorScanner": "0",
    "detalle": "limpieza gnral",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13052",
    "observacion": "no se escucho ruido del llamado ",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAClAJoDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA3EAABAwMCAwUHAwMFAQAAAAABAAIDBAURBiESMUFRYXGBkRMUFSIyobEjwfAWQuEmUoLR0vH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEBAQGAQUAAAAAAAAAAQIDERIhMUEEE1FxIjJhwRQjQoGh0ZEzUrHh8P\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIiIAiIgNNXHNLSSx083sZXNIZJjPCe1VqLUFxscwpL9A6RmcMqoxkHbw3\/PcrWtc0MdRC+GZgfG8Yc1w2IUotLJopqU5SeKErP8fweU9TBVwiammZLGeTmHIW1VGan\/AKTvVNLSveLfWP4JIi7Zh23yfXt2KtySjbNClUc7qSs1qERFEuCIiAIiIAiIgCIiAIi01dXBQ0z6mpkEcTBkkocbSV2bHOa3HE4DiOBk8yslUKKOp1ZdBX1Ikht1O7MEYOONw7x9z5BW9SlHDkVUqnMTkllt6hERRLgiIgK3rkN+BxvLcubO0tOcY2KsMJLoWE8y0ZVb1s\/21PQ25m8lTUDAHYNvy4KzNAa0NGwAwFN+RGannXn9vc9REUDSEREAREQBERAERc1wr4LbRSVdQ7DIxy6uPQDvKLM42krswul0pbTSGoqn4HJrRzeewKuw0Vdq2dtZcOKmtzDmGAHd\/f8A59FnZrbLfqr45d2cTTtTwEfKG9D3j881a1ZdQyWpkUXxHil5dl17\/owiijhibFEwMYwYa1owAFmiKs2BERAERc1xrGW+3z1chAETCd+p6DzOAizONpK7K+0fFdeOdniht0eOeBxf\/SfRWlV7RtE+G1vrZncU1a8yOO3Lp+581YVOetuhn4ZPBjess\/8AvsERFA0hERAEREAREQGEsrIYnyyODWMaXOcegHMqqU8cmrrx71Ox4tNMf0mOGPaO7\/53dq23qomvt1Fho3ubAw5q5QNhjp\/OqsdJSQ0NJHS07OCKMYaFZ5F6mR\/Pnb6V+X+kbWtDWhrQAAMADovURVmsIiIAiIgCrGrpZq2eisVN9dU\/jeexo\/bmf+KsVRUwUkRlqJmRMAzl5wqLbtRUTb1WXiv9oZH\/ACQRMbktb6gcgB45VtOL16GLi6kUlTbtfXtuXyGJkELIYxwsjaGtHYBsFmqwdVXCoGLfYqiQEbPfkD8fugrNYyjibb6WLfkXD\/0uYHuT+Jh9Kb7JlnRVb+obtaqiJl8oWthlIAlh34T5E58OfPwVoaQ5ocNwRkKMotFtOrGpe2qPURFEtCIiAxDmlxaHAuHMZ3CjdRXT4TaJJ2nEjyI4zjOHHr5AErluOlYKysfW01XPR1TzkvjO3pseg6rj1FGJL9ZaWZ7zAHZJc7mQRzPbt91ZGKbRkrVKihLK2yd+pJ6btAtVtBkGaqf553HOSeg8s+uVLosZJGRML5HtY0cy44AUG23c0QhGnFRWiMkUVVams1IcSV0bj2R5f+FGO1fNWvMdntU1SdhxvGAPHHLzIUlCT2K5cRSjlfP0zLQuKtu9vtzSaqrjjIGeHOXHyG6hPheprrvX3FlDGcfpQbuGPD\/srsotIWijPG+E1Mmc8U54vty+y7hitWR5lWfkjbv+jjdq+ateY7Papqk7DjeMAeOOXmQvPctWXIn3msit8Z\/ti+oeGP8A0rOxjI2BkbQxrRgNaMAL1zg1pc4gADJJ6JjS0RzkSl\/Um32yRQb9p+KiFPD71PW3GqeGtLuQA5nG57OvarfbbLQ26nibHSxCVjRmXhBcTjc55qGsjTfL\/U3uVpMER9lTBw6DruPPnsSrSuzk\/KyvhqULuolk9O3X7hERVG4itTxMl05WtfyDOIeIIIWenXOfp+iLiCREBkdg2H2Cjtb1QisraVpzJVSBoYBkkA5P3x6qcoqcUlDBTDGIo2s27hhWPyGWOfEO2yRvREVZqCIiALhutopLxTiGqa7DTlrmnBaV3Iup2zRGUVJWksisDRsrGtjjvdWyMDHACcY9VkzRFE57XVVXU1HDyDnYVlRS5kupR8JR\/tIum03ZqXHs6CJxHWQcf5ypJrWsaGsaGtHIAYAWSKLbepfGEY+VWCIi4SCruq7jII4rNSDiqa75ef0tJx99x4AqdqaiOkppamZ3DHE0uce4Kuaap5LpXz6hqwMyOLKcEY4WjbI38R6qcFbxPYzV5OVqUdX\/AI3J620EVsoIqSIbRjc4HzHqV1Iig3c0RSirIIijb\/cm2qzzVGf1COCMZxlx5enPyXUruxyclCLk9iGhLb9rN0ww+ltgw3vfvvy7c9eitah9L234dZYw9uJpv1JSTk5PL7YUwpTedlsU8PFqGKWrzYREUDQEVd1XcZWshtFHn3qtPDkHHC0nH339CpSC3Ogp44ffql3s2BueIb4GOxSw2V2UqrebilodyIiiXBERAEREARFxXa4stVtmq37lg+Rv+5x5D1XUr5HJSUU2yE1HUPut0g07TOIDyH1Lwfpbzx6YPorHTU8dLTR08LeGONoa0dwUJpO3Sw0slxrOM1dYS53ETkN6D9\/RWBSm\/pWxnoRbvVlq\/wALYIiKBpCqVeDqLVkVCBxUVBl0vY5wxkeuB6qT1NefhVv9nCeKrqPkiaD8zc\/3Y7vyvbHbIrBa3SVT2Nmf89TK522d8bnsz+VZHwrEZKr5s+Xss37ImUUHRalZcrsKShpJJqcA+0qeQaemB2enNTig01qaIVIzV4u4WmqqYqOlkqZjiOJpc49y3KqX6V1+vENgpnObHEfaVLx0229M+pHYuxjdkK1TlxutXp3Nmlqaeuqqi\/VocJJyWwNOflZ3d3IDwParOsIomQxMijaGsY0Na0dAOQWaSlidztKny4YQiIoloREQBERAFUqj\/VOpRTNJNBbjmTbZ7s8ufI4x4Aru1Vc5qWlZQUbS+rrMsa0DcN5Ejv8A50XfZLTFZrcymZh0nOSQDHG7+bKxeFYtzJU+dU5ey19kSCIirNYWqpqI6SmlqZncMcTS5x7gtqoutru6oqm2mnPE2MgycI3c\/oO\/n6+CnCOJ2KOIrKjTcjKmrY31Uup7qSGNJZQw5GXYyOXdnn2klddLarhqWVtbenvhpOcVK08Oe89njzOeizsmmJHSx193AL2gexpgPliHTI\/b13VqU5TSfhMtChKcb1NNbdX1f6NNLSU9FA2CmibFG3k1oW5EVJ6CSSsiPvd0ZZ7XJVOHE76Y25xxOPL9z5Li0ra3UdEa6oJdV1v6khdzAJJA++T\/AIXAQ\/UerMEPNvtx7wHPH75+ze9WxWPwxsZafzajqbLJe79giIqzWEREAREQBc9fXQW6jkqqh4axgz4noB3roVQqHO1feRTRud8KpTxPe0Y43dx8\/TJUoxvroUVqjgrR1ehv05RT3KufqKvaA6UEQR4+kcs\/bHqeqtC8a0NaGtAAAwAOi9SUsTJUqapxt\/PcIiKJaFxstNCyvfXCmZ7w88Ree3GNuz\/K7EXb2OOKeqCIi4dCIiAwjijhaWxsDQSXHHUlZoiDQIiIAiIgCIuS6XCK12+Wrm+lg2A5uJ5BErnJSUVdkPqa5VL5I7JbcmrqRl7gfoZv16cvTxUvarZT2ihbS04OAcucebndSVEaVtr+CS81mHVVaeMZH0NJPLx28sKxqyTt4UZqMXJ82Wr09F\/sIiKs1BERAEREAREQBERAEREAREQBERAFx3C10l0bGyrj9o2N3EBnqiLqdjkoqSszra0NaGtAAAwAOi9RFw6EREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "BERLIAM SPA",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "MABEL ALVAREZ M.",
    "correoContacto": "mabel.alvarez@veltislatam.com",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA RUIDO AL IMPRIMIR Y HOJA SALE DOBLADA EN LAS ESQUINAS.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56976117206",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:23",
    "ubicacionGPS": "LatLng(lat: -23.6737404, lng: -70.4108246)",
    "horaLlegada": "12:16",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "3",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 12:22:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 12:22:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76050301

[16/06/2026 12:22:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76050301', 'EP2209', 5, 27729424, 18655, NOW(), 
				'08:00', '12:16', '12:23', 3, 'limpieza gnral', -1, 
				'', '','1','64976',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781626946.png', 'no se escucho ruido del llamado ', null, 'COMPLETADO','LatLng(lat: -23.6737404, lng: -70.4108246)' )
				
[16/06/2026 12:22:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200739

16/06/2026 12:22:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200739'                    
				WHERE idllamado = 13052			
				TO ENVIO: micorreo@miempresa.cl, mabel.alvarez@veltislatam.com, dsprint@gmail.com


16/06/2026 12:22:26 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13052			
				
16/06/2026 12:22:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:29 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:22:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:22:29 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:22:29] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:22:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13052
            GROUP BY l.idllamado;
            

16/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:22:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13052
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:50 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 12:23:50] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:51 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:51] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:53 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:23:53] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:23:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:23:54 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:23:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

[16/06/2026 12:23:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:23:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13048
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:23:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                
=========================================
FECHA: 16/06/2026 12:24:51
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ZSL2IWHVai3pAwmM5DDfcVE14IorsZSq4q8bgMJckWGnIlKLPpg
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2229",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "143212",
    "contadorColor": "198816",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13048",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAB2AL0DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAMFBgQCAQf\/xAA9EAABAwMBBQUGBAQFBQAAAAABAAIDBAURBhIhMUFREyJhcYEUkaGx0fAVIzLhBzPBwhYkJUJSNFNykqL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAtEQACAQIEAwcEAwAAAAAAAAAAAQIDERIhMUEEE1EiMmFxscHRgaHh8CNSkf\/aAAwDAQACEQMRAD8A\/ZkRcdTd7dRvLKitgjeOLS8ZHopSuRKSirtnYihp6qnq2bdNPHM3qxwPyUygJp5oIiISEREAREQBERAEREAREQBERAF4mc5kL3tGXNaSPNe18JAGScAIGUOlL5UXqCoNSIw+J4wGAjccnmT9hX6w2jbjDHfKyn3htYdqIu8CSB6g\/BblaVFaRy8JUc6Sbd2ERFmdRS6nuklutzY6V2KupdsQgDf4kffEheLfpO3U9OPbIRV1Lh+ZJIScnw+8rluB9u1zQ0wBLKSPtXcwDvI\/t96060bcYpI5IRVWpKUldLJe5mK3SxoAa2xSywTx97sNoubJ4deBPX04qy0\/eG3m3iRwDZ4zszMAxg9fIq1WSu0T9N3tl5pmZpKg7NTG3gCef9fPzUp48nqROK4d44d3de5rUXlj2yRtkY4Oa4AtI5helkdgREQBERAEREARUmrqqSlsEropHRve9rQ5pweOTv8AIFetK3A3CxQue7ali\/LeSckkcCfTCtheHEY85c3lb2uXKIvjnBrS5xAAGSTyVTYp9S3eS10DG0u+rnfswjGfM459PMhQWnU8c0rqK6FlLWseWkHusPTBK5aCX\/EWqJKzZzR0A2Yjnc5+dzh8T7uqvLlZqC7NaKyDbLP0vBIcPULV4UsLOJOrUbqU3lolszqknhhZ2ksrI2f8nOACzt7vYr2\/hNmeZ6iYgPkiPdY3n3v67+a9x6Gs7HEuNRIM\/pdIMfAD7Ct6G1UFsBFHTMi2hgkbyfU71Cwxz1LtVqiwtKK87spbhpnsbFTNoXOFbQDbje0b3ni4ep4e5WNivkN3psE7FVGMTRHcQeZx0VqqC9abNXUfiNtmNLXN35buEh8eh8UUlLKREqcqTx0l5r93L9Fm6PU8lNUCiv1OaObgJcHYfwH138Fomua9u01wcOoOVVxa1N6dWNTumaoN\/wDEO5EbwKYDPpGtOsxZ92truHb3bAwfDu\/stOpnqvIy4buyfi\/UKCspIq6jlpZhlkrS0+Hip0VDoaTVmZvR9Y4U89pnJ7eieWgHm3P9D8wtIste2myahpb1HuhnPY1IzjO7j7hnzatQCCMg5BV5\/wBupz8O2k6b1j6bH1ERUOkIvEcsczNuN4e3JGWnIyDg\/EL2gCIiAzGsT7U+3WpudqpqATjkBu\/uPLkoqSRmm9Uz0kjNikuGy6J2\/DCOA6Y3keHdXuh2rzrKprSGupqBvZRnGQXeHrtHPkr65W2mutKaepblvEOGMtPDIytrqKUWeeoOpKVWOt8vJZffM61mNTXT2vYslvd2s9Q8NmLAT2bd3MeY9M54oNKV0TDBT36pZTEYEZycDmOPQlWtosVDZosU8e1KR3pX73H6DwVVhjne5rLm1VgccK3z9Dpt9DFbaGKkhHdjaATzceZK6URZ6nUkkrIIiISERcV0utLaKQ1FS7dwawfqeegUpXyREpKKu9CO9tt34a+S5xskhj7wDuJPIDxKrdFxzNtksr2yMhmlLoWPdnZb4fYyuWht1fqWqZcLw0xUbDmGl3ja6E+Hjz8lrGtDWhrQAAMADkrvsrCctNOrU5trLbq\/3YzNNiD+IVWOAnpgQPHDfoVp1l7qfZNc2ypduZNGYvM94f3NWoUT2fgW4fJzj4v75hERUOkrr9bxc7PUU4ZtSbO1H\/5Dh9PVc+la811ih2\/5kH5Lxz7vD4YVysvbA2z6xrKA92GtYJos8zxwP\/r3BaLOLRy1OxVjPrk\/Y1CrdQ1hoLHVTtfsv2Nlh57R3D5qyWb1zJ\/o0UAPfmnaAAM53H9lWCvJI04iTjSk10KuzPn0\/XUBne\/2S5RDO2c7Dzz+Xo49FuFUXqzi6WP2RoAljaDFk8HAcP6KHTl8FbEaGrJZX0\/de1+cvxz37\/NXl2liMKP8MuU9Hp7ovVx3W4R2u2zVcn+wd0f8nHgPeupzmsYXvcGtaMkk4ACyUYfrC8tmLSLVRuwA7P5rvvHkPNVjG+b0Nq1RxWGPeenz9Cx0fQvpLKJZQ4S1LzK7a445fX1V8vgAAwBgBfVWTu7l6cFTgorYIiKDQIiIAiKrvd9p7NCA4drUyfyoW8XfQKUm3ZFZzjCOKTyJ7rdaa0Ubqiod4MYOLz0CpbXaai8VYvF6ZkH\/AKemI7rByJC+2qx1ddWC7X4h8uPyqcjcwcRkcvL3rTK7ajktTmjGVZ4pqy2Xu\/gIiLM6zOa1heLdT10Y79HO1+egO757Kv6edlTTxzxkOZI0OaR0Kjr6RldQT0rwMSsLd44HkfeqXRtS78Olt0xAnopXMLeYGfrtD0WmsPI5e5X8JL7r8GiREWZ1BZnWNPJC2kvMAHaUUg2sjiCRj4\/NaZQVtLHXUU1LKMslYWn6q0XZ3Mq1PmU3E9wTR1MEc8TtqORoc09QVmrkDc9bUdE7BhpGdq5pGcnjw\/8AVSaPrmsppLPUO2aqlkcAx3Etz9c\/BR6Y\/wA\/fbrdeLHP7KM8cjPXyDVdLC2c0qnOjBdXn9NTUqnvGnKW7SCoEj6aqaMCaPifMc\/grhFmm07o65wjNYZK6Ms\/Td7qIvZaq+OfTEjaGDtOHQ\/DmtDRUVPb6VlNTRhkbBuHXxPiuhFLk2Up0YU3da\/6ERFU2CIiAIiz191BLFP+F2lhnr3jBLd\/Z\/v8lMYuTsjOpUjTjikTX2\/i3kUVE3t7hLgMjAzs55n6KKyaddTTm43ST2mvedrJORH5eP2FLYNPMtTTUVD+3rpB+ZK45x4D681dq7kkrRMYU5TfMq\/RdPyERFmdQREQBZWsxY9Zw1Qbs09xb2ch5B5I3+\/ZPqVqlWagtQvFqkp247VvfiJ5OH14K8HZ5mFeDlC8dVmizRU2mbqbjbuyncTV0x7OYOztHHAnPX55VyqtWdmaU5qcVJbhERQXKa76diuVTHVwzvpalndMsRwXNO459M+\/C77bb4bZQx0kO9rBvcRguPMrqRWcm1YzVKCk5pZsIiKpoEREAREQBF8c4NaXOIAAySeSylbeK3UFS+22RpbTg4mqyMDHPB6fEq0YtmVWqqa6t6InvGoJ56o2iyNMtWTiSUfpjHPf8zy8+FjZLHBZ6c4\/NqZN8sx4uPTyUlos1JZqYRU7cvIHaSkd55++SsFMpK1o6GdOlJy5lTX0\/eoREVDpCIiAIiIAiIgMxe6KptNzZe7ZGTtuDaqJv+8HG\/H3v3q8t1zpLrTdvSS7beDgRgtPQhdTmhzS1wBBGCDzWfrtJxGf2u1Tut9QP+3uaeHIcOe5aXUlZnK4TpScqaunqvg0KKksdZeX1EtFd6XZdEwObUNA2X7\/AA3Z8unBXao1Z2N4TU43QREUFwiIgCIiAKOaaOnhfNM8MjYMuc47gFBcblS2qlNTVybLAcADeXHoAs5DSXDVswqa\/bpbYCHRQA4L\/H9\/HcrxjfN6GFStheCKvLp8nmWor9YTup6TbprU04fKRvkI5ft71qKKhp7dStpqWMRxt6cSep6lSQQRU0LIYI2xxsGGtaMAKRJSvktBSpYXik7ye\/wERFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgKe4WEXO7w1NXP2lJC3u0xG4u6nw4K3AAGAMAIiltszhCMW2tWfURFBoEREAREQBERAEREB\/\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "LICEO POLITECNICO",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I590\",\"id_control\":\"29035\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I591\",\"id_control\":\"29035\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"EPS-I589\",\"id_control\":\"29035\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:25",
    "ubicacionGPS": "LatLng(lat: -22.0849431, lng: -70.1956361)",
    "horaLlegada": "12:03",
    "horaDespacho": "11:26",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 12:24:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 12:24:51 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 12:24:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2229', 1, 19969062, 143212, NOW(), 
				'11:26', '12:03', '12:25', 10, 'Entrega de insumos', -1, 
				'', '','1','198816',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781627091.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.0849431, lng: -70.1956361)' )
				
[16/06/2026 12:24:51] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200740
[16/06/2026 12:24:51] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200740', 'EPS-I590', 1)
				
[16/06/2026 12:24:51] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29035 and
				    IDproducto = 'EPS-I590'
				

16/06/2026 12:24:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I590';
                [16/06/2026 12:24:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200740', 'EPS-I591', 2)
				
[16/06/2026 12:24:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29035 and
				    IDproducto = 'EPS-I591'
				

16/06/2026 12:24:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I591';
                [16/06/2026 12:24:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200740', 'EPS-I589', 1)
				
[16/06/2026 12:24:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29035 and
				    IDproducto = 'EPS-I589'
				

16/06/2026 12:24:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I589';
                
16/06/2026 12:24:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200740'                    
				WHERE idllamado = 13048			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, dsprint@gmail.com


16/06/2026 12:24:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13048			
				
16/06/2026 12:24:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 12:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:54 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:54] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:24:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:24:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:24:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:24:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

16/06/2026 12:25:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13048
                

[16/06/2026 12:25:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13048
            GROUP BY l.idllamado;
            

16/06/2026 12:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:27:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:27:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

[16/06/2026 12:27:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:27:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:27:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13045
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => TIENE RUIDO
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 15:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2229
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:27:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:27:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:28:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:28:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:34:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:38:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:39:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:39:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:39:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:39:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 12:39:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:39:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:39:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:00 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:40:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:00 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:00 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 12:40:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 12:40:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 12:40:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 12:40:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:40:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:30 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:30] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:31 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:31] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 12:40:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:40:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:40:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:41:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:42:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:43:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:44:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:44:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:44:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                
=========================================
FECHA: 16/06/2026 12:45:38
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QzOqbjnLQgSHOAyTMKLr2Q4PHwkjRS2q6h94_vf2oBF_dI1RzwL
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2229",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "143212",
    "contadorColor": "198816",
    "contadorScanner": "0",
    "detalle": "-Limpieza y lubricación del eje del carro\n-Maquina ya no hace ruido ni atasca papel\n-Cliente solicita cambio de maquina\nFirmado por Maria Nuñez",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13045",
    "observacion": "-Limpieza y lubricación del eje del carro\n-Maquina ya no hace ruido ni atasca papel\n-Cliente solicita cambio de maquina\nFirmado por Maria Nuñez",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADdARADASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xABIEAABAwMCAwMIBAwEBQUAAAABAAIDBAURBiESMUETIpEUUWFxgaGxwRUystEHFiMzQlJikqLC0uEkcvDxNTZTc+JEVWNlgv\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgMFBQgCAwEAAAAAAAABAgMREiExBDJBUWETcZGh4RQiIzOBscHRQlJDYnKi\/9oADAMBAAIRAxEAPwD9mREQBERAEXGrq4KGmfU1MgjiYMklZh1TddVzPipCaS1glj5D9aQdR6fVyUoxvmU1Kyg8Kzb4E+46so6WXyajY+uqicCOIZGfNn7sqIxmr7lwyGaC3xn9Dh72PVgn3hXdss9DaYyykhDSR3nndzvWVOUsSWiK+yqTzqSt0WXnqZg2bU7O9HfWOeOQeNvgfgvPp+72iRrb3QAwE71EG4Gfd8Pv1C5zQx1EL4ZmB8bxhzXDYhMd9UHs7jnTk0++68xDNHUQsmheHxvGWuadiF0WQayXR93iYZnOtNW4jvconf6x6xnzLXAgjIOQVGUbaFlKpjupKzWp6iIolwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAF45wa0ucQABkk9F6svqKuluVazT1vIL5t6iTOzAN8e7f2DqpRjiZVVqKnG\/h1ZGZHLrO6GV7nstNM7DW8jI7\/R9g9a10UUcMTYomBjGDDWtGAAuNBQw22ijpaduGRjGcbuPUn0lSV2Ur5LQjRpYFilvPUIiKBeEREBDuttiu1vkpJtuIZa79V3Qqr0hXSz2+WiqXZnon9k7fJx0+BHsWgWXaDaddEAO7G5R+wP\/wBx\/ErI5xaMtVYKkai7n9dPM1CIirNQREQBERAEREAWPk1DV0GsZaWonzSOkDSxzdmZAwQeY6Hx9a2C\/PNW0+NRVT3AtJhZIwjbOMAn08j4K2kk20zDts5QgpR4M\/Q0UW2T+U2uln6yQtcduuFKVTyNqd1cIiIdCIiAIiIAiIgCIiAIiICr1Bd2Wa2Pn5yv7kQ\/axz9QUfTNokt9K+qq8mtqzxzF3Mbk49+T\/ZV9E38ZdTSVsmH0NCeCFpwQ53n+fgtYrJe6sJkp\/Fn2r0WS\/LCIirNYREQBERAFmNVfkrxY6nkG1GHH0Zb\/dadZvXLM2SOUfWina4HzbEKdPeRm2r5LfLPwNIi+IX9rCyT9doPivtQNIREQBERAEREAWH1w0011p6rHdmpnxes7j+YeC3Cyf4QIQ63Us+N2SlniM\/yqyk\/fRj21XoN8i10sc6bov8AIftFW6ptJOLtMUZPmePB7lcqM95l1D5Ue5fYIiKJcEREAREQBERAEREAVJqu4vobQYoc9vVHsWY6Z5nw29qu1lpeK8a5ZHkmntreLGNuP\/fH7vtU4LO74GfaJNQwx1eRdWW3NtVrhpR9Zoy8+dx59Sp6Iot3dy6MVGKitEERFwkEREAREQBUWsmcWmag7d1zD\/EB81eqn1YWjTNZxcsN8eIYUobyKdoV6Mu5k21P7S0Ub9+9Aw7\/AOUKWoFiDhYaDi5+Ts8MDCnrj1J03eC7giIuEwiIgCIiALPa2j49Ovdn6krXfL5rQqr1LCZ9O1rB0j4uX6pz8lKDtJFO0RxUpLoyNo3\/AJap9\/0n\/aKvVRaM\/wCWoP8AM\/7RV6uz3mc2f5Me5BERQLwiIgCIiAIiIAiIgI9fVtoaCeqdyiYXcs5PRU2jaSSO2SV05Lpq2QyOceZHT35PtXmtah0dlbTMzx1MrWADqOfxAV3RUzaOhgpmgARRtbt6ArNId5l39o\/5Xm\/Q7oiKs1BERAEREAREQBUWs38OmpxnHG5g9feB+SvVnNcv4dPgbd6Zo9xPyU4byM+0u1GXcXNrZ2Vpo4\/1IGN8GhSlzp2dnTRM37rAN\/Uuii9S6KtFIIiLhIIiIAiIgCi3QA2msBGQYH\/ZKlKLc\/8AhVX\/ANh\/2SurUjPdZUaJk49Osbj6krm\/P5rQrKaAfm11Mf6s+fFo+5atSqb7KNkd6Ee4IiKBpCIiAIiIAiIgCIiAy95BuGsLZQ44o4AZXgjbPP28h4rULMU\/5X8IlV\/8NMPg3+padTnwRm2fNzl1flkERFA0hERAEREARVWorrJZ7U6qhax0nG1rQ8Ejf1EdMqbQVJrLfT1JwDNE15A5AkZXbO1yCqRc3DiSFmNdHjt1JB\/1KkcufIj5rTrMaqHb3ey0vMOn4ngdBxNGfipU95FO1\/Ja52+5p0RFA0nnEOLhyM4zherG6UrjWamuUjifyrS4DcAAOHT2rZKUo4XYpo1VVjiQXKpqYqSmkqJ3cMcbeJxxnZdVRaxnMOnJwDgyuaz35PuC5FXaRKrPBBy5ItqKshr6OKqgdxRyDIPxHiu6qNKEHTVHg57rvtFW6SVm0KUnKCk+KCi3P\/hVX\/2H\/ZKlKFeSRZK8g4IppPslFqdnuszX4PXAx17eoMZ+19y2Sw\/4PnYqK5mebGHHqJ+9bhWVd9mbYXfZ4\/X7hERVGwIiIAiIgCIiAIiIDF+WT0upL5W08PazRxtYxpBd1aN8dNlwpbxdr0QDfKOhD3Y7P6rh6BkfNWltAbr26xuGeKAH0Ywz71Z1Wm7PWcRloY2udvxR9w58+y0OUVqjy40qk03GXF5Zrj0KpmkZJmCSS+VUrnD67TsfbndfX4mf\/cVnivp+hLWXl8U9VEenC8YHuz718\/iYWfmrzWMI+rvy965i\/wBvIl2DWtL\/AND8TXAd281gPMb9fFBpu8wHMGo53Y5NkDsY\/eKfitdI\/wAzqSqAHJrg7H2k+h9Ux7xXyNx\/bb\/Ypif9h2aX+NrufqDQ6vpvzVyp6ho\/Re0ZPi35rw3DV1JvNa4Khg6xnc+B+S97HWcX\/qqOf2AfyhBVazj7v0fRy\/tcQ3\/jCeA00xrz\/ZS6m1DLcqGOjloJqORsnG5smd8AjzDz+ZX+l7zb3WelpHVcTJ42FrmOPCdj6ee3mWfklvt2v73ut8EtVSxGN0OQGNByOrtz3vOoFDa7hcKaWnp7XDK+B5a6Qv4JGE9D3gDy6gqxxi420Mka1WNVzSvfLTl3H6isxXf4rX1DDzbTwl7um\/e\/8VU2+16wt5aKcPYwH6jpmObsPNn4Ksmu92p75UVjpGwVWexlcGBzWdMdf1enmKhGnm7M0VtqvGOODWa8j9QUW51ApbZVTk\/m4nH242WWt9PdL2wuj1SDjm2IEOA9I7pUXUVorLZRxl95qquSok7Ps3cQDhj\/ADH0KCpq9my+e0y7NzjDLndHxoRpZfZQ8FpdSkjO2e81bx80UeeOVjcc+JwGFgfxZhh1NT2qoqJXMng4y5hAOQDsNjt3VfM0LaG4y6pfj9aQb+AUqmFu7ZTsnbQg4KOj5+hcSXe2w\/nLhTN9Blbn4rKazvVFXUkFLSVTZcS8UnAM4wMDfrzV5Ho+xx7mkLz+1I771UVNsoBrSgoaaljbDHFxygNyCe8RnPPkPFchgTuie0dvKGF2V7LiR9Paqo7VZ2Uk8U0krXu4RE0HY775PnVkdZSyn\/CWSrmHQ7j4ArzTDGUl+u9BwhobJxxjGMNyeXsLVqUm4qWh3Z4VpU0sdrZacjMfjJe5Pzem529O+Xc\/3Qod2u2oJbVUCotLIKdzC17y7cA7ef0+ZbNUGtJODTcrf+o9jffn5LkZJySsSrU5xpyk5vTp+jJ6YN3iqZ\/oqKJ8hYOMSEcunULSH8c39aSPPq2+Kj6Sj7G+18X6kMbfABa9SqT97Qq2ShelvNa6MzHk2s3beXUbM\/pcI2\/hT6O1g\/Z94pQP2Wj+gLToq8fRGr2Zf2l4szH0Pql+z75GB+y3+wT6E1KNxfgSOWWladE7Rj2aHN+LMx9Far\/97h\/d\/wDFPo7WDNmXilI\/aaP6CtOiY3yQ9mj\/AGfizMeR6zZv9JUcno4R\/QE49Zs37Ojk9G33hadEx9EPZ+U5eJmPpDWEf17RSvHLLXDf+NSLfdr5NXRQ1lm7KJxIdI12zduav0TEnwOqjJO+N+X6MxG3sfwiSlwx21Nlvp2H9JWnWXvbvI9Y2is5CUGE9OuP51qF2eiZyhk5x6\/fMIiKs0hERAFzmlZTwSTSHDI2lzj6AMros9rGskitjKGBvFNXPEbR1xtnHuHtUoq7sV1Z9nBy5HPRcL5KWrucrcSVs5dnHMAn5k+C+dO\/4fU17puXFIJAPaT\/ADBX1vpGUFvgpGDaJgb6z1Pis+5wt34QA5xwyvhA6AA4x8W+9TvicjI4dlGnfg8\/r6mne9sbHPecNaCSfMFmdGReVUldWzxg+V1BJDhnON\/iSrHVFT5Lp6qIPekb2Q\/\/AEcH3ZXXT1J5FYaOEjDuzD3et25+K4soMtl71dLkm\/HIh1+kLdVOMtLxUU2O66HYDn09vTCzFdPc6a\/U8Fxcbj5A8SgRjfBwd8DPm5r9De9sbHPecNaCSfMFmdJtNdXXG9PaW+UScEYI5N5\/0j2KUJuzbKK9CLnGMMm\/x0K+a90Vy1bbKyBxaxreB\/aDhLSc8+nVbcEEZByCsjri207aaGvZAxrhLwzFjcFwI5nz8veukenLlRRNksd5e2Jw4mxTbt339I5ehJKMknewpzq06k4tX45fo1ay9jxXavu1fnjbFiJjunm2\/d9\/pXOpv2obVTSG421jwAQ2oiOzSeRPMc\/V09sfS19tNtt3Y1U7o6mV5fI50bjknluM9MH2ooNRbOzrwnUgnlbPPLuJk58g1\/DIdmVsHAT6eWP4W+K1CyOp6qkrqOC426uhfUUL+MBrxxYJHTnzA960lDcKeupIaiN7R2rQeHiGWkjl61GSdky2hJKpON+q+vqSlmNZE1BttuByamoGWjzDb+ZaF9VTRjL6iJo\/aeAsRdblPddUxPtbHT+TDhjLG5Gersjpv6OS7TTvc5tlSKp4eZbWAB2q709gyxpDSRyBzy9x8Fp1VWC0G00ZErxJUzHjneM952\/3q1UZtN5Fuzwcafva5vxCIigXhERAEREAREQBERAZvW8DjaYayMHjpZmu4h0B2+PCr+mnZVU0VRGcslYHD1EL4uFI2vt89I\/GJWFuSM4PQ+w7qm0dXGa1uoZSe3o3ljg7njO3zHsVmsO4y7lf\/pea9DQoiKs1BERAeOcGtLnEAAZJPRZWzg6h1DNd5A7yWlPBTAkjJ8\/hufWF01NXS11VHp+hOZZyPKHAH8m3Yj7z6PWr630MNtoYqSBoDY2gE4xxHqT6SrN2N+LMj+NVt\/GOvf6ElZrWcboYKO5xtJkpJgdjjY+f2geK0qg3qibX2eppyG5cwlvEcDiG4yem4UYO0ky2vBzpNIotRSsu94tVqjcHRyOE0mDnu\/D6od4+OrWL0RE+sq6i4VEnG+GNkDATuBj7h8Vs3ODWlziAAMknopVMnh5FWytzTqv+X2RQ6wrnU1o8lidiesd2TQOZH6XyHtVnaaBtttcFI3nGzvHzu5k+KoLe06i1PJc3tJoqI8EByMFw\/wB+LwWrSWSUTtH4k5VeGi7vUr75Qm42appmt4nublo85ByPgomk7kK+yxxu2mpgInjrtyPh8CrtZy5WOtguYulkkayZ+GywvPccCefq6keG65FprCztVSjNVIq\/Broc9WSmvqaKxwHMk8ofJgjutGefm6nl0V5La7fPGI5aOCRoGBxsBI2xz5quslknp6uS6XKXta6ZuCNsRjbYeCvEk7WSFKDk5TmteHQo5tH2SY5FKYznJ4JHD3ZwszR6foGX6e0XF0zXHenla4N4x06Hf7iv0JV13slHeYQyoaWvb9WRmOIejcKUajWTZXW2SErShFXXmUVz0xZbPbZq1wle6Mdxr35Bd0GMb78\/QrHSFtNBZGPe0tlqD2jwQRgdB4fFc6fR9M2rbPWVc9aGABjJjkAY5HPMeC0AAAwBgBJTyte4o0LTxuKj0\/J6iIqjaEREAREQBERAEREAREQBZW9U1VYrt9O0LC+CTaqib19P9+h9a1S+XNa9hY9oc1wwQRkEKUZWZVVp9pG2jWjOVHWQV9JHVUz+OOQZB+RXdZeo09cbXUvq9P1Ia125pHnunbG3Q+3xX1+MF+a4sdp6RzgcZa44PuUsF91lS2hxyqJp+KNMqO+6khtjTTUuKivds2Jozwk9Tj4c1CfNq254hbTRW+Nx70me8B4n3BWVl07SWhvafn6t2753jfPXHmSyjmzjqVKuVNWXN\/hHPTlnkoIn1laS6uqd5XOdxEDzf6+Su0RQbbd2aKcFTiooKi1bczb7SYYSfKKs9lGBzx+kfDb1kK9WUomDUOqpLiXB9HQENgxyc7z+O\/LzKUFnd8CraJPCoR1ll+2RaWjqtIVsNS5r5aSeMNqOHcsdgk+we\/dSLvqAXuBtssZfJLUbSuLeENZjcb+vf2rVua17S17Q5p5gjIK+IaaCmbwwQsib5mNAUsabu1mV+zSinCErRfj9DjbLfDa6COjgyWsG7jzcTzJUtEVTdzXGKirIIiIdCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvCQBknACAp9U3DyGyytYT21R+SiDeZJ5+7PuXewW1tqs8NPj8oRxyHGMuPPw5exUtGG6l1O+sc0PoaDuRg4Ie7ofV18FrFZL3VhMtL4k3V4aL8sIiKs1BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAWd1Pc5fydmoDmsq9iWuwY2\/wB9\/ZlTr5e4bPTZx2lTJtDENy4+c+hRNN2aelElxuR7SuqDkl25YPN6\/hyVkVZYmZasnN9lD6vkv2yytNuZarbDSM3LB33frOPM+Kmoig3fM0xiopJBERcOhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFXXi9Ullpu0qDxPdns4283n5D0rneNQ0VnbwyO7WoP1YGHvH1+ZV1qs9RcriL5eG98gGCnI2jHTI9\/vU4x4y0M1Sq2+zp732FltdXcLj9O3hvDLjEEBG0Y6HB5ej15WmRFyUrstpU1TjZBERRLAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiLxw4mkZIyOYQHGrrKahhM1VOyFg6uOM+rzrNy3+63yR1PYqUxw54XVUoxj5D3ld6PSFO97aq5Vc1fId8SHDd\/E+9aKONkUbY42NYxow1rRgAegKy8Y6ZmW1Wrr7q6a+PAprRpiltr\/KJnGrqycmaTofQPnzV2iKDbbuy+FONNWirBERcJhERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "POLITECNICO TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "TIENE RUIDO",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56946640522",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "12:46",
    "ubicacionGPS": "LatLng(lat: -22.0849318, lng: -70.1956466)",
    "horaLlegada": "12:00",
    "horaDespacho": "12:25",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 12:45:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 12:45:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 12:45:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2229', 1, 19969062, 143212, NOW(), 
				'12:25', '12:00', '12:46', 4, '-Limpieza y lubricación del eje del carro
-Maquina ya no hace ruido ni atasca papel
-Cliente solicita cambio de maquina
Firmado por Maria Nuñez', -1, 
				'', '','1','198816',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781628338.png', '-Limpieza y lubricación del eje del carro
-Maquina ya no hace ruido ni atasca papel
-Cliente solicita cambio de maquina
Firmado por Maria Nuñez', null, 'COMPLETADO','LatLng(lat: -22.0849318, lng: -70.1956466)' )
				
[16/06/2026 12:45:38] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200741

16/06/2026 12:45:38 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200741'                    
				WHERE idllamado = 13045			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, dsprint@gmail.com


16/06/2026 12:45:38 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13045			
				
16/06/2026 12:45:38 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 12:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:45:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 12:45:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:45:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:45:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13045
            GROUP BY l.idllamado;
            

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:45:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13045
                

16/06/2026 12:46:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:40 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

[16/06/2026 12:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:40 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:40] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:46:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:46:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13049
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => STUDIO 3518A
            [SerieInternaMaquina] => TO2162
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:46:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:46:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                
=========================================
FECHA: 16/06/2026 12:47:53
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-evVISVqdgES69T0HMZOMLa1K4bthQlvQYI3epLVy8Cu4bqdtg.t
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO2162",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "605766",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13049",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACbAKsDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xAA7EAABAwMACAIJAgUEAwAAAAABAAIDBAURBhITITFBUWFxgRQVIiMykaGx0cHwFkJUk+EHUmPxcqLS\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAtEQACAgECAwYGAwEAAAAAAAAAAQIDESExEkFRBBMicbHRIzJhgeHwM5HBof\/aAAwDAQACEQMRAD8A+zIiIAiIgCIiAIi0VlZT0FM6pqpBHGziT9h1QhtJZZuJAGScAKArtK4mzuo7XA+uqhw1BlgPiOP27rgfNctL5XRU2tSWoOw6Q\/FJ27+HBWO22qjtMGxpIg3\/AHOO9zvErTCjvucveTu\/j0j19vchG0Wl1Y0PmuENHnPu2gEj5D9Suix3WsNwns91LXVcADmvY32XtwN+fMcgp9VhuHf6hvxv1aXf23D8qU+JPKKyg6pRak3l41ZZ0RFkdoREQBERAEREAREQBERAEREARFX71pBNFVttdoYJ655wTjIj8e\/2UqLbwjOyyNccyOu93+ls0WHES1Lh7EDTvPc9AoqksVbe6kXG\/Oc1oOY6QbgB36fddtk0bjoX+m1zvSq95y6RxyGHtnn3U6r8SjpEwVcrXxW7dPcxYxkbAyNoY1owGtGAFkiLM6wqvo9mu0ou9yG9jTsWk7sjP4aFO3WsFvtdTVk4McZLf\/LgPrhRehtJ6NYWSuHt1DzITzI4D7fVaR0i2ctniuhHpl\/4ifREWZ1BERAEREAREQBERAEREARFV7nd6i9VbrPZXbuFRUj4Wjng\/vPJWjHJlbaq1rvyXUzu2kE1TVeqbH72qccPmG9sY57\/ALnl4qRsljgs9Oce9qZN8sx4uPTwW202aks9MIaZmXH45SPaee\/4XeplJYxHYzrqk5d5Zv6fvUIiKh0hERAVjTKR9T6DaIT7dVKCfZzgDd9znyVkhiZBCyGMarI2hrR0A3BVm1O9caX1dx1XbGjbsYieZ3j\/AOj5\/O0rSeiUTlo8cpWddF5IIiLM6giIgCIiAIiIAiIgCIqtdrnVXqtdZLOcNG6pqAdwHMA9PvwVoxyZW2qtZ58l1PLrdam+VjrNZnexwqKkcAOYB6fdTtqtVNaKNtPTt7veeLz1KWq1U1oo209O3u954vPUrtUylyWxSqpp95Z83p9EERFQ6AiIgCi9Irj6sss87X6krhqRHnrHp4bz5KUVVuzm3zSmltTQHwUfvZ+53bvsPMq8Fl6mHaJuMMLd6L7kpozbzbbHBE7G0kG1fjqeXkMDyUsiKreXk0hBQiorkERFBcIiIAiIgCIiAIiICt364VlXcGWG25ZLI3WnmO7UZ2\/fZS1ptVPaKJtNTt38XvxveepXZqt19fVGtjGcb8LJWctMIxjVibnJ5fogiIqmwREQBERAc1xrGW+3z1chAETCd\/M8h5nAUNofROZQy3KcZqK55eTx9nO765PyWjSqT1jcaCxRPIMr9pNq8m\/9ZPyVmiiZDEyKNoaxjQ1rRyA4BabR8zlXxLm+UfVmaIizOoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCwllZDE+WRwaxjS5zjyA4lZqtaYVsr46ezUm+orXDWHRuf1P0BVorieDK2zu4ORhosw3K4119lY4GV5jhDv5W8\/pgfNWhc9BRRW+hhpIfgibq56nmfM5K6Ek8simt1wSe\/PzCIiqbBERAEREARFw3K8UNpYHVk4YXfCwb3O8ApSb2KykorMnhHci1U9RFV07J4Hh8bxlrhzW1QSnlZQREQkIiIAiIgCIiA8c4NaXOIAAySeSq2jcT7teay\/TjLdYx046DhkeWB5ldel9c+ntQo4SdvWu2TAOJHP7geak7Vb2Wu2w0jMExt9pwHxO5n5rReGOepyy+Jco8o6\/fkdiIizOoKKvt9p7JS678PnePdxZ49z2Wu\/aQx2hjYYmbeslwI4Rv8zj9lVi40FXFGx9c4z3e5O1GM47FnPcOfLwJWsIZ1Zxdo7Q4pxr3X\/Pz0RaNGrrU3i3OqamER4eWtIG5w6\/p5KYXJbKCO22+GkjAwxu89TzK61SWM6HTUpKCUnqEXhIAyTgBVi53eovNW6z2V27hUVQ+Fo54P7zySMWyLbVWtd+S6m+76SmOo9XWmL0uuJLSAMtjI456kfLqoC82aejpoZa2f0m5V8oZl28RjoOp3jfy5DmrfaLLSWamEcDAZCMPlI9p5\/HZRGkp2F+tdbUMkdSU51nOa3IYcjefPV+S1hJJ4icV9cpVudj16cl+9Sw0dK2io4aZhLhEwN1jxOOfmt6gRpnZCM+kPHbZO\/C9\/jOx\/wBS\/wDtO\/Cz4JdDqXaKEsKS\/snUURb9JbdcpJmwOka2GMyPfI3VaGjjvUnBURVUDZ4JBJG8Za5vAqrTW5rCyE9YvJsREUFwiIgCIonSW5m12WaaN2Jn+7j34IJ5+QyVKWXgpOahFyfIiqIOvumEtcSTS28akXEZd\/3k+QVrUVo3bTa7LDC8Ylf7yQdHHl5DA8lKq03l6GXZ4OMMy3erChL9pALZq0tKzb182BHEBnGeZ\/Cxv9\/NAW0NC3bXCbcxgGdTPM9+yysNh9XB1XWP29fNvkkcc6vYH9VKSSzIrOyU5d3X930\/Jos1i9XGW73eUS1hBe57jkRDG\/zx8uAWixMdfbzNfp2YjjOypmneABz3jvnPUlbNKKySqmgsFI739WQZSB8LP2MnsO6naGjit9DFSQjDIm4Hc8z5nepcnjL3foZwri58Efljv9WdC1zTR08L5pnhkbBlznHcAsaurgoaZ9TUyCOJgySVVWemaZVQdI19NaIznV5ykd\/2B4qkY51exvbbweGOsny\/eRlPW12ls7qO369NbWnEtQRvk7f4+asdutlJaqYU9JHqt4lx3ucepPNb4IIqaFkMEbY42DDWtGAFsUylnRbCunhfHJ5l+7BeFocMOAI6FeoqG5ym20BOTQ05J\/4m\/hPVlv8A6Gm\/tN\/C6kU5ZXgj0Nfo8GydFsY9m8YczVGCOhC9iijgibFCxscbBhrWjAAWaKCcIIiISEREAVVrybzplT0IIdTUA2kg341uO\/8A9R8\/BWeWRsMT5XnDWNLnHsFXdDoXPp6y6z6u1q5nEnoAeviTw6LSGibOW\/xyjX11fkvyWVV+96QyQ1Atlpj9Ir38cDIj\/wA\/ZarlpDPWVZtViaJZ3bn1H8kfgf1+6kLJYoLPASDtamQe9mPFx6DsiSjrIiVkrXwVvTm\/8X1NVh0fbbNaqqn+kV02+SU79XPED8qSrqyKgopaqZwayJuTn6D5roVV0ge++XeCw0zjs2Ha1L24OqP8Z+oULxy1LTxRXiC15eZt0Wo5Kqee\/wBY331WTshn4WZx+gA7KauNzpLVTGoq5NVvANG9zj0A5rku14o9H6KNgZrP1dWCBvE43DwCjbXZKu6VTbrf\/afxipiMBniOXh81ZrPiexmm613VesufuzTTUVZpXVsr7kww25hzDT53v7+Hf5K1xRRwxNiiYGMYMNa0YACyAAGAMAL1UlLJvVUq9d292ERFU2CIiAIiIAiIgCIiAIiIDCaJk8L4ZBlkjS1w7Hcqv\/Cly2ZoG3XUtxcTqNb7WCc4OAM\/PCtaK0ZOOxlZTCz5jjttrpLTTbCkj1W5y5xOS49SV2IihvJpGKisLY11Ewp6aWctLhGwvLWjJOBncqLaL4KKKapZH6ZdbhISI2tPsDJ4\/XcOg7K+Oa17Cxwy1wwR1C5aO00Fvc51JSsic7iRvPDHPhwV4ySTyc91U5zi4vGCKs1hmNV63vB2tc85aw72xdPP7KwoipKTb1Na641rCCIig0CIiAIiIAiIgCIiA\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "POLITECNICO TOCOPILLA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I650\",\"id_control\":\"29036\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "12:48",
    "ubicacionGPS": "LatLng(lat: -22.085123, lng: -70.1956585)",
    "horaLlegada": "12:00",
    "horaDespacho": "12:46",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 12:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 12:47:53 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 12:47:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO2162', 2, 19969062, 605766, NOW(), 
				'12:46', '12:00', '12:48', 10, 'Entrega de insumos', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781628473.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.085123, lng: -70.1956585)' )
				
[16/06/2026 12:47:53] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200742
[16/06/2026 12:47:53] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200742', 'TOS-I650', 1)
				
[16/06/2026 12:47:53] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29036 and
				    IDproducto = 'TOS-I650'
				

16/06/2026 12:47:53 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I650';
                
16/06/2026 12:47:53 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200742'                    
				WHERE idllamado = 13049			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, dsprint@gmail.com


16/06/2026 12:47:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13049			
				
16/06/2026 12:47:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13049
            GROUP BY l.idllamado;
            

16/06/2026 12:47:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:58 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:47:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:47:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13049
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 12:48:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 12:48:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 12:48:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:48:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:48:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:54:35 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:54:35] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:54:35 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:54:35] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:54:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:54:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:54:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:54:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:13 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:56:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:13 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:56:13] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:15 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

[16/06/2026 12:56:15] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:15 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:56:15] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:18 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:56:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:18 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

[16/06/2026 12:56:18] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:21 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:56:21 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:56:21] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 12:56:21] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:23 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:56:23 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

[16/06/2026 12:56:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

[16/06/2026 12:56:23] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:56:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [13] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13063
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:25
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 65195060
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330
            [SerieInternaMaquina] => TO2786
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:58:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:59:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                
=========================================
FECHA: 16/06/2026 12:59:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-QFaixlTfMtvzm07lR-37sZr15DN0DeYRKfQVfx_9XsFf2a6DxNR
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "65195060",
    "serieinterna": "TO2786",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "27729424",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "maquina ocupada contador total\n530596",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13063",
    "observacion": "falto residual",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC1APADASIAAhEBAxEB\/8QAGwABAQEBAQEBAQAAAAAAAAAAAAYFBAMBAgf\/xABLEAABAwMCAgYHAwcICQUAAAABAAIDBAURBiESMRNBUWGRoRQiI3GBscEVMtEHJEJSksLhFiUzU2Ny0vA3Q0VidIKisvE0RFRV4v\/EABkBAQADAQEAAAAAAAAAAAAAAAACAwQBBf\/EADMRAAIBAgQDBwIFBQEAAAAAAAABAgMREiExQQRRYRMicYGRodEysRRCweHwFSMkM\/FS\/9oADAMBAAIRAxEAPwD+zIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIp\/UOqGWaVlNBGJ6gjie0nZje\/v8Aouxi5OyK6lSNOOKTyKBFzW+rFfQQ1QbwiVucZ5LpXCaaaugiIh0IiIAp+8ahlt9+oqCIROZLw9LxAkjLsbYPNUCgqsGu\/KIxnMMmZtjOzWgn5FWU0m3cycXUlCMVHVtIvURFWawiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDMv8AeGWa2un5yv8AUib2uxzPcFKV9vkt1i6SrzJdLnKGu4zuG5zjPwGffjqWjRsGo9WT1kreKkoPUja4bOdv9cnwXtOTddcwwgkw26PjdjccR3+rfDwvj3cvNnl1b1u9s3ZfqygoqYUdDBTDfoY2sz24GF6l7GuDS4AnkCVi32\/ut80dBQwmorph6rAM8A7T5+GT35VXpiYWmpuFxrJpq5kT5NnDhbtuNxuMdXLsUFG+bepqlWw3jTV7a9P3LFFm6fq311ipaiRxc9zCCSckkEjfwWkoNWdjRCSlFSW4REXCQUZZYvSdeXCfAxAZN8deeH8VZqT0g3pbxeao9c2B8XOJ+ishlGTMldYqlNdb+iKxERVmsIiIAiIgCIiAIvGGrp6l8jIZmSOiOHhpzwnvXshxNPQIiIdCIiAIiIAiIgCzr\/XG32SqqGv4XhnCw9fEdhjxz8Foqa1q4y01DQNJDqqpAwOZA2+bgpQV5Ip4iThSk0fLdLHprRsdS8AySDpA07cTncht3Y8F+bUwWDT893rjxVVT7RxIBcS77o6j15IXhVxtv+qIbbGM0NtHtRnYkcx38g3xXtqQC6X23WXLizPSyhp6t+ffgHx61brk982Yb2V4\/l7sfHdnvpW2u6J95rAHVdaS8Ej7jT2e\/wCWFpX6QR2Gvceune3xGPqu9rQ1oa0AADAA6lhazqTT6dlaDgzPbGPHJ8gVBPFNGuUVRoNLZM9tKRmPTNG09bXO8XE\/VbC5rdT+i22mp8YMcTQRjG+N\/NdKhJ3bZbSjhpxjySCLluDK2SlLbfLHFPxDDpBluM7rpGcb81wnfOx+JpRBBJK7lG0uPwGVL6ClMtPXOcfXdMHO+IK2dSTdBp2ufnGYiz9r1fqp78nziPT4zt\/RuAx\/e\/grYr+22Yqs\/wDKpx6P+exaIiKo3BERAEREAREQEvbfzDXNwpckR1bOlaO13P6uVQpfUOKLU9nrxgcbjE892cfJxVQrJ52Zm4fuucOT++YREVZpCIiAIiIAiIgCiNc1jobtQBh9eBnSt57Eu2\/7VbqIZPTai1xG44dBTt9Qjk\/hJI+GSraWt+Ri413goJ5tooNN2o2u1sEufSZ\/aTEk54j1fBZ8PtPyiVHX0dMPhs38fNU6mKH\/AEiXL\/hh8o1yLvds7VgoKnFaXX2ZTqW1CDctS2y1NHExh6aXAB2z19mzT4hVKltPO+1NSXO7E8UbPYxb5GO0fBo\/aKQyuyXEd7DT5v2WbKlERVmoIiIDA1pJwablb\/WPY3zz9Fm6cjFu1TUUQyGPpWOA7SGtP1K6tckvttLTNOHS1Ix4EfUL5dB6Jri1zgYZLH0Xx9YfvBXx+i3O55lb\/fj5OPvf5KhERUHphERAEREAREQE7reHjsbZQ4sMMzXZGeRBH1W7TTekUsU39YwO8RlceoKf0qwVsX9kXD3t9YfJeWl6j0nTlG482s6M\/wDKcfIBT1gZl3eIa5r7GsiIoGkIiIAiIgCIiAw9V3J1Da+ghP5zWHooxnBweZ88fELF0vb\/ALN1bUUjzxOipASexx4CfmV12538oNWTXD71JQjghPUT2\/M+7C9KH\/SJcv8Ahh8o1eu7Fx6HmS\/uVI1dsVl4Z\/qU6mG\/m\/5RHbk+kU3bywB\/hVOpi9fm2srPVHlIDD8x++q4atdDVxOSjLk18GxfK1lvs1VUOdgiMtZ3uOw81y6ToxSaep+2bMpOMZzy8sLjvj3Xe+0ljiOYoiJ6o88Acgf8\/pBaV3vlFY6cdKcyEezgZzP4DvXbPCktyOOPaSqSeUcvPc7qmpgo4HT1ErYo2DJc44CwaG93K9XRjrfAI7bE\/Eksg3k7h\/D4rmprPcNRTtrb44xUwOYqRpI27+z5+5VMUUcETYoWNjjYMNa0YACO0ctWdi6lZ3+mPu\/hH7REVZqJjVXtbxY6bmHVGXDuy3+K+60jdFDQXJoJNHUAkAdRwc597QPivl09vrq1wj\/VxF5PZ94\/TzW3dqMXC1VNKRkyRnh\/vDceYCuvhwmBw7RVbc\/skdUcjZY2yMOWvAcD2gr9LC0fV+lWCNh+\/TuMTge7ceRC3VVJWdjXTnjgpcwiIuFgRfmSRkUbpJHBrGAuc4nYAcypeS9XTUEjqexM6GnGRJVSDHh2bb9u\/UpRi2VVKsaeTzb2KCquVDQg+lVcMRAzwueM+HMrKm1pZY3cLJpJd8epGQPPC\/FFoy3xAyVzn1s7t3Pe4gZ9wPzytmC3UVKc09HBEe1kYBUu4upV\/kS5R92T8murTNG6J0FWA8FpPA3r\/wCZZ2mtUUNptZpaoTFwkLhwMBGCB39uVdKW0bGxv2lTvY1xiqT6xHPmPopJxwvIonCsqsO8ru+37nXHrOyPJDqh8eOt0Tt\/AFdsV\/tE2Ay40+SMgOeG\/Ne8trt8wxLQ07\/70TT9FxTaWskww6gY3vYS35FQ7nU0W4hbp+q+TUjmimBMUjHgc+FwK\/ampNDW3iD4J6mB45FrwceS\/P8AJu80v\/otQTYHJkoJA8z8kwx2Y7WstYej\/wCFOilzPrChOZKemrmDYlmAfp8kbrM0xDbnaaqlOcEgZHnjvXeze2Y\/FQX1XXiioWFq25m32kwwk+kVZ6KMDnj9I+G3vIXRS6ms1ZgMro2OP6MvqfNZFA0ai1TJcXHipKA8EA2w5w5Hx38EjGzvLYjWqqcVGm7uWXyzbsVsbabVFTYAkPry463Hn4cvgsk\/m35RBj\/3VNv1ch5\/cVOpi\/AU+rbLVY\/pCYvPH76Qd2+orxUIRtomvgp1Na3YWW+lrWffpqgEH3\/xAVDPUQ0sLpp5GxxtGS5xwAom9XKt1O30a3UkvoUbi50pacPIBPw7h24Smniuc4ucVTcN3oc9qu1TGZ5KOE1V2r3EuIG0TfHH4Kjs+mW003p1yk9MrXblz92sPdnn7\/BfnRkNILHHUQwsZM4lsrhuSQfwxsqFSnPNpEOGoJwjObvy5f8AQiIqTeEREBL0ear8oFbJ+hTwBoI7cNGPM+CqFMaX9ver3V8w6fhae7Lv4KnU6mtjNwucHLm2\/cmNLkwXm80WAGMm4mNG2Bl3V7sKnUzQYZ+UC4taSeKnBIxyOGf5+Kpkqa3HDZQceTa9wiIoGkmNRSyXS7U+noXuYyQCSd4HUMnHkPJUFHSQUFLHTU7AyOMYA+p71P2ocWurrI\/Z4iDQO71fwCp1ZPJJGWgsUpVHrdryQRZbr7B9vR2iKN0sjmkve0jEZwTg+HmFqKDTWpojOMr2egUxpklmoL9HnIM\/F7vWd+Kp1MadBGpr5kY9oPm5Sj9LKK3+yn4v7Mp0RFA0hFh2zUrLleZ7eyDhbFxcMnF97Bxyxt\/nt23F1prUhCpGorxYXxzQ5pa4AgjBB619RcJkprCltlNQt4KGH0ypeGRFg4T3nbn2fEJDoyWmgY+jutRS1HAC\/h+6XdfI\/ivlK37d1lNVPIdTW71YwNwXDl55PwCrFc5OKSMEKNOtOVRrLReW5L41fbuRp7jG09wdjy38efWsbUF9qag0YqrbJSVVNL0g4yeFw7sjtHkt676oEU3oNoY2rq3bFwPqx9Xx+SzLjpiSKx1dxr531FwLQ8nOWs9YE4+H8FONrpyRnrKTjKNKTaWt9PXmeVJOzVVd0l3uEUFPG49HSB\/CT8T7+fPnyVtBBDBTshgjYyFow1rRthYNDYbRd7LSVEtIxsj4m8T4iWkuGx5c9wea8f5J1tBvZ7xNCOqOX7p8NvLrUJYZZXsX0VUprE44r73z9z7pY\/Z11udmecdHJ0sQPMtPX4cKqFAVst8sl5gutfFHI9zeiLoiAJduRx18urq7lsR64pGP6KuoaqllBw5pAPD784Pkk4Nu6OUOIhTThPKz35bFOinna2szWAh8zj+qIznzX2k1na6ysjpmMnYZDgPe1oaPecqGCXI0\/iaN7YkUC\/L3iNjnu5NBJRj2SN4mODh2g5XLeJugs1ZLkAtgeQT24OPNRSzsXSlaLZjaGYTaJ6h\/3pqhxz27D65VHJIyKN0kjg1jAXOcTsAOZUnp++Wq0acgbUVI6Yl7nRs9Z2eI45ctsc18kkumri2OFho7WSONzj6z9\/P3cu9Wyi3Jt6GKjWjCjGMc5W0+eR0aZ\/nC8XO88LhHK4Rwlw5tH\/hqp140lJDQ0kdLTs4IoxhoXsq5O7NVGm4Qs9d\/EIiKJaTE+Lfr6KY54K+DgydhxDbH\/S3xW\/XVTaKhnqXEARMLt+4LM1Ta5LhbmzU5xU0h6WMjme0DwB94Cz6++sumi6qVjgyoa1rJo87tJcAfgd1bbFZ+Rhx9i5xfVr9Tp0dROjtr7hOeOorXl5cRvjPb3nJ+KolwWNgZYaAN5ejsPi0Fd6hN3kzRQio0opcgpiy+z1leI\/1gHbcur8VTqYtO+ubsRuBGBn9ldjoyFf66fj+jKdedRL0FNLLt7Nhdv3DK9FxXkkWSvIOCKaT\/ALSorUvk7RbIjQ5xqAl2cvhdgnr3H4L+hkgDJOAF\/P8AToEN6sr8YEtPICe\/il\/gqvU9V6Jp6reHYc9nRtx\/vHHyJV1VXmjz+Clg4dt7Z+yZpQ1ENQHGGVkgacHhdnBXJe6\/7Ns9RVAgPazDM\/rHYKTs802lqumNa54oq6BricHEbufLuzv7+5c2ptQtvssVHRxuELJMtc44MjuQ26uZ59vUuKl3uh2fGJUW3lLka1puFFpixMFY\/NZUe2MTd3nP3c9m2Ofes++1moK+2PrJojR0BIAiB9ZwPWesjw9y99NOtNA+rkujgyvpZDl8xyccvVHWcj37hfmqjrtWxVlaC+OjpQfRYgP6VwzuRnnj54HWrFZSv7mZuUqKintkl05mtFo6yT0ULhE\/LmA9I2Q5dkc99l4y6IY2J0dHdKqFrhgtf6wPaDjC0NKV\/p9hgLiOOAdE7fs5eWFsqlznF2uboUKFSCko6+RA6ei1DNTS09uuMcApXljopW\/dzk7ZaevK2DTaydkCvpGb7O4R\/hK\/Ft\/m\/XNfSEkMrGdK3bm7n9XKpUpys9Crh6KcLOTybWvIjbnp2+1tDI+vujJzEDI2FjdnEA9w35jkv1pexWi5W1lbPG+omBLHiR+zXD3YzsRzyrBS1n4rTq2ttZOIKkGaIAbA88eGR8Aim3Fo7OhTp1YyaunlnnnsbT7FaZGBjrbTYHLEQB8QuObSFjlyRSGMk5yyRw8s4W2irUpLc1ujTlrFehNP0JaXEkSVTO4Pb9QsjUWl7dZrUamGWodI57WNEj24336gOoFXimNX5qqy1W0b9NPxOHYBgfInwVkJycs2ZOJ4ejGk2oq\/yd9p09bqOlp3mijNQI2l73gk8WNzvy3ythEVTbepthCMFaKCIi4TCIuWouNHSVMNNPUMZNOeGNh5uP0S1zjaWbOpSGq9NxNgqLpRvMLwMzRjZrxnc9x+ar1n35vHYK4Yz7B58BlThJqWRTxFONSm1JGVpbUFHUUVPbpD0NTGwMa13KQAcwfoqVS1psdvvWmaJ1TH7QNcOlZs\/ZxGM9eO9G2jUdpyLdcmVUOciKfn5\/iFKUYtuzsUUalWFOOKN1bVfBUqY057XUt9l\/VlDP8AqcP3V8\/lLeaM4uNikxyL4c4z5jzWZpvUVvoqy4S1bnx+lzcbXcJdtlx3x711QkosjU4inKpC7ta+uWxdrhvjg2xV5P8A8eQeLSvKLUlmmxw3GEZ\/XPD88Lk1Lc6U6cqjBVQyue0MAZIDnJGeXdlQjF4kaalWHZyaa0ZO0A9Hm0zLkZeXs+BkP+JauvKpot0FGyQdJJKHFgO+AD9SFjXWuhgtVop6aTiqqJoleWbtjJwcHvzhJ7Y2Grs881V6TUXCYSSyZ2Dctx8zv3LRbNSfU8nG1TlTj0+yRqxWStvgFZe5XU1I1uYqWM44G42Pdt8fcufRlkp6iR90ka5zIpeGna8dY34j2kbfFbmqLlHR2Go4JAXzDom8JHXz8spZZ7ba7LTU76+kY4MBfmVo9Y7nmVXilhNfY0lXSedldt89jqrLDbK+q9JqaVskuOEkkjI713xxsijbHGxrGNGGtaMADuC4H6gs7OdypzvjZ4PyXi7VdjZnNezbsY4\/IKu0ma1OjFt3Sv4E9LUu0lqmX1T6BV4eWjkAesd4OduxVlvu1DdGOdR1Al4QC4YILfeD7lL6mu9ju9GzoK0+kwHiid0bgO8HI7vkvto1VZqKlDn0Xo9S8Yl6CIYdjr6vBWyi5RvbMxU60aVVwUlh1OvVQ9AulrvDRtHJ0Uh7W88eHEqhQ+o9U266Wl1NTsm6Xja5pc0ANx181oU2t7VHSxMeKkvawBx4Buce9RcJOKyLIcRSjVl3lZ2fmVCltUfmN6tV22DWP6KQnqHP5Fy9hrqzk44agd\/Rj8Vnai1HaLtZ5KaN8plBDo8sIGR\/DKQhJSzR3iK9KdN4ZK6zXkWiKZtWr7W2208dbUlk7Iw1+WOdkjbOQOvmuwavsJOPT+f9k\/8ABQcJLYvjxNFpPEvU2lLzH078oMMfNlFBxEY6yP8A9N8Fo\/yqsf8A9gz9l34LC0\/d7eLvc7jV1bIjO\/hiDtvUyfphSjFpN2Kq1WnKUIqS1vryLRFmDUlmP+0YfFeUmrLHGDmvacdTWOP0UMMuRodakvzL1NhFOTa2twPDSw1FU8nDQxmMns338lzSVupb5F0FNQfZ0MmzpZHEOA7uR8Au9m98it8VT0jm+h23nUno8\/2dbIvSq93q4bu2M9\/f8utLJpz0Wb7QuUpqq92\/E45Efu7\/APIXZZrFSWaEiIdJM\/8ApJnD1nfgO5aa65JK0RClKUsdXXZbL9wueuh9Jt9TAP8AWxOZ4ghdCKs0NXVie0TN0unWM\/qpXM5\/H6qhUxpP81uV3t+fVin4me7JHyAVOp1PqZRwrvRintl6ZHnUS9BTSy7ezYXb9wyprRlvp5bE+SpgjmM0zjmRgdkAAY37wVp6nqm0mnqtxO8jOjG2cl23yyvTT1KaOwUcJ2PRhxHYXesfmurKBGSUuISeyfufibTNlnJL7fEM\/qZZ8iFMassVBa4IHUNO9r5pOHHEXeG6vFMau9pcLLT9UlT9Wj6rtOUsWpXxdGn2Tair+HUlm2+IQhslouhlDcOLXANJ\/YOy8oLRWsm4qizV8se\/qNY5p8eE\/Jf1VFLtnyKf6dH\/ANeyP5VU0RjrKdv2TVwiU4EMryXSb8h6ox4LSbYrg85i01EB2Szu\/wAYW5rL2ElqruqnqR9D+6qdddV2TIU+Cg6kot6W2XwQTNOXgbCz0DdscTnl2PFxXs3R92lx0stuiA5BkLSf+36q3RQ7WRpXA0uv88CNZoEu2mufq5+7HDj6\/Rc940jHaadldS8dVHCeKeKU\/ebnqxj4q6XwgEYIyCiqyudlwNFxaSzMyyMtVRbo6igpYY2PGHANHED1gntWh0MX9Uz9kKTrIZ9I3L06jY99snPtoRyjPd9PBVdNUwVcDZqeVssbhkOaVGS3WhZRmn3JK0l\/Lo+mCEjBiYQf90LzdQ0jmlppYSCMH1AuhFC5owrkSGlaCkMtyt9VSQTOpp\/VMkbXHG4689nmqE2W1EY+zKTf+wb+CxrIOj1heY27sdhxPf8A5JVOrJt4jJw0I9nZrRte5g3m1Wmis1XUNt1OHMiPCejGxOw8yubTenrdNYqeaqpI5pZQXFzuzJwPDC3blQRXShko53PbHJjiLCAdjnrHaF601PHSUsVNFngiYGNzzwBhMbw2uS\/DxdXFZWt7nAdNWU\/7Oh816MsNoj+7baY\/3ow75rQRRxPmXdlTX5V6HnFTwQDEMMcY7GNA+S9ERRLEraBERAEREBMRn0H8oMgds2ug9X3gD\/CfFU6mdYU0sTaS8U7QZKKQF23NpIxn3H5rZddqSO1MuUsgZA5geCee45e9WSV0mjJSkoTnB+Pk\/wBzE1H\/ADrfbdZWglgd002Oz\/xnxVQprStPLVTVV9qm4lq3ERg\/os7sjuA+CpVyeXd5EuH716j\/ADfbYKY1GAdTWPIz7X95qp1mXGzi4XGhrOm6M0j+LHDni3G3PbkkGk8yVeDnCy5r7mmiIoF5P62h6XTkj\/6mRj\/Ph\/eWzQzGooKeY7GSJrj8QCvYtDhhwBHYUAAGAMAKV8rFSp2qOfNH1ERRLQiIgPxLFHPE6KZjZI3jDmuGQQp2fS9RRTuqrFXPpnHJMDt2E88Ds5DnlUqKSk1oVVKUKn1Ev9pasowfSbVFUtH6UR3PwBPyX12ob5UAw0+npoJDsJJeItbvjP3RlU6KWJcivsJrJVHby+DI0\/ZnWyCSaod0lZUnjmfsd+wHC10RQbbd2XQgoRUYhERcJhERAEREAREQBERAec8MdTBJBK3ijkaWuHaCp+HRdKydvTVc01LG7iZTuPqjz9\/iiKSk1oVTowqNOSuUbWhrQ1oAAGAB1L6iKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAf\/9k=",
    "razonSocial": "FUNDACION EDUCACIONAL COLEGIO MADRE DEL ROSARIO",
    "nombreTecnico": "STIVEN VALDERRAMA",
    "nombreContacto": "ALEJANDRA GUERRERO",
    "correoContacto": "finanzas@colegiofemar.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56975196535",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I895\",\"id_control\":\"29045\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I896\",\"id_control\":\"29045\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I897\",\"id_control\":\"29045\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"TOS-I898\",\"id_control\":\"29045\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:00",
    "ubicacionGPS": "LatLng(lat: -23.5852787, lng: -70.3794537)",
    "horaLlegada": "12:56",
    "horaDespacho": "12:23",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 12:59:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 12:59:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:65195060

[16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('65195060', 'TO2786', 1, 27729424, 0, NOW(), 
				'12:23', '12:56', '13:00', 10, 'maquina ocupada contador total
530596', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781629144.png', 'falto residual', null, 'COMPLETADO','LatLng(lat: -23.5852787, lng: -70.3794537)' )
				
[16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200743
[16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200743', 'TOS-I895', 1)
				
[16/06/2026 12:59:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29045 and
				    IDproducto = 'TOS-I895'
				

16/06/2026 12:59:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I895';
                [16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200743', 'TOS-I896', 1)
				
[16/06/2026 12:59:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29045 and
				    IDproducto = 'TOS-I896'
				

16/06/2026 12:59:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I896';
                [16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200743', 'TOS-I897', 1)
				
[16/06/2026 12:59:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29045 and
				    IDproducto = 'TOS-I897'
				

16/06/2026 12:59:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I897';
                [16/06/2026 12:59:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200743', 'TOS-I898', 1)
				
[16/06/2026 12:59:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29045 and
				    IDproducto = 'TOS-I898'
				

16/06/2026 12:59:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I898';
                
16/06/2026 12:59:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200743'                    
				WHERE idllamado = 13063			
				TO ENVIO: micorreo@miempresa.cl, finanzas@colegiofemar.cl, dsprint@gmail.com


16/06/2026 12:59:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13063			
				
16/06/2026 12:59:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

[16/06/2026 12:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:59:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:59:07 - INPUT: {"rutTecnico":"27729424"}
16/06/2026 12:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

[16/06/2026 12:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 - INPUT: {"rutTecnico":"27729424"}
[16/06/2026 12:59:07] Llamados.php->getLlamadosByTecnico: RUT: 27729424 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '27729424'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 12:59:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12665
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 11:51
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76689118
            [ClienteRazonSocial] => SOC. POR ACCIONES EDUCACION BRAC SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2853
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12711
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TONER
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 14:24
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 77430080
            [ClienteRazonSocial] => ESTUDIO JURIDICO NANCY MELLADO Y CIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2075
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12765
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 10:32
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 69253200
            [ClienteRazonSocial] => ILUSTRE MUNICIPALIDAD DE SIERRA GORDA
            [ciudad] => BAQUEDANO/S.GORDA
            [ModeloMaquina] => C878R
            [SerieInternaMaquina] => EP2581
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12773
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2061
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12695
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => PROBLEMAS BANDEJA C4 INDICA LETRA D1,E Y H
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 25/05/2026
            [HoraLlamado] => 10:08
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C4000
            [SerieInternaMaquina] => EP2823
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12673
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 13
            [otrafalla] => 
            [nombrefalla] => Retiro
            [FechaLlamado] => 20/05/2026
            [HoraLlamado] => 17:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76961000
            [ClienteRazonSocial] => CONSTRUCTORA ECORA S.A
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 330AC
            [SerieInternaMaquina] => TO2343
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 12792
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => REVISIÓN TÉCNICA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 28/05/2026
            [HoraLlamado] => 14:52
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => C869R
            [SerieInternaMaquina] => EP2282
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13053
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => HOJA PUEDE SALIR CON MACHAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 08:53
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13056
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 3518A
            [SerieInternaMaquina] => TO2414
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13057
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 6529A
            [SerieInternaMaquina] => TO2783
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13058
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 09:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79783050
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL MAGISTER LTDA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => ESTUDIO 4528A
            [SerieInternaMaquina] => TO3107
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13060
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2303
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => STIVEN VALDERRAMA
            [RUTTecnico] => 27729424
            [idllamado] => 13061
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76050301
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => MA5500
            [SerieInternaMaquina] => KY2887
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13063
            GROUP BY l.idllamado;
            

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 12:59:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13063
                

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:13] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:01:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 13:01:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 13:01:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:18] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:01:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:19 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

[16/06/2026 13:01:19] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:01:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13029
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:01:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                
=========================================
FECHA: 16/06/2026 13:01:59
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uRFlm3B3+UMosp0Aq_PSLOSqRtao28Lk1go1C9bWWSWskVtT+8l
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3085",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13029",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACgAO4DASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCAwUEAQf\/xAA+EAACAgECAwUGAgcGBwAAAAAAAQIDBAURBiExEhNBUWEUcYGRobEiwQcjMjdCdOEVQ1LC0fAkJjNygqLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QALREAAgECAwYEBwEAAAAAAAAAAAECAxESITEEEyJBUXEyYZHwFHKBobHR4cH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE7jcRXz4su0m+EI1LeNTimnulvz5+W\/wBCiPzjiWc8HjGzKrT3hKu1cvJL80fotdkba42Qe8ZpST80y2pFJJoxbLVlKU4S1T+xkACo2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAETxFhPO4reNFfjtwm4L\/ABSSk19UdvhHN9s4fpTe86P1T3fl0+mx485N\/pD07ZdMV7\/Kww0hf2NxdmadJxjTmLvaUvPdtL5dpfAvecbeR5kOCs58m2vw0VQAKD0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYyl2YOXZctlvsurMgAT2i8W42qZUsW6v2a3tNVqUuU+fT0foUJAcV6JDD1evKhLusfLn+KS6Vz8X7vH5nf4e1q6y6Wk6muzm0L8Mn\/AHsV47+7n69S6cFbFEwUNompulV16lAACk3kxYu8\/SHVt\/d4vPf3P\/Uz4wxpV042r0R3uwrYt+sd\/H47fNmvSH7VxvquTtvGqCq38E+S\/wAr+pSX015NFlFse1XZFxkvNMtbwyRhhT3tOa6t29\/Qww8urOw6sql7wtipL09DeTHCtlmn5mZoOQ25USdlUn\/FF7f0fxZTkJKzNNGpvIJvXn3AAIloAAAAAAAAAAAAAAAAAABjZZCquVlk4whFbylJ7JL1ZN28TZuo5Msbh\/CWQoP8d9qah8Om3x+RJRbKqlWNPXV+pTA5mjT1icLXq9VNck13arfVeO\/N+h0zjVmThLEr2sAAcJAAAHg1rTY6rpd2I9u1Jb1t+El0JfBwnr2lqELFTq2mSUI2803FdE\/Hl09NvUtyVy0tF42x8mMdqdRj2J89l299m\/n2X8WWwbtYxbTTjiU3o8n\/AI\/ozdp3E8qch6frsFi5UHsrHyhNebfRe\/p7jtZuoUYOn25tk064R7S2f7T8Eve+Qz9OxNTo7nLpVkVvs31i9tt0zirgbS1Ym7cl177utzW30RzgebyJWrwWFcXR\/vqZcF4s69KszLU1Zl2ufTbkuS+u5RGMIRrrjXCKjGKSil4IyIyd3cvpU93BR6E1xXj24duNruIv1uLJRtS\/ig34\/b4nfxMqrNxa8miXartj2osyvpryaLKLY9quyLjJeaZMcMZE9KzczQ8qT2obsqlt1i9vvun8WS8UfNFDe6reUvz\/AEqwAVmsAAAAAAAAAAAAAAAHP1fWsTRcZW5LblPdV1x6za\/31PbbbXRTO62ahXBOUpPokS+h1S4h1W3W8uMu5ql2MWqT3S5c39vj7icUtXoUVqjTUIeJ+7mNWn6rxRbG\/VHLEwE1KGPHk5+v9X8EU+LiY+FRGjGqjVXHpGKNwOSk2dp0Ywz1fUAAiXAAAAAAAnuNcTv9D9oiv1mLYpp7eD5P7p\/AoTXdTDIososW8LIuMl5prZkouzuV1YbyDj1NWn5cc7T8fKi+Vtak+fR7c18z0kxwhOeLdqGkTs7axLfwP0baf2+pTiSs7EaE8dNSeoABEuBh3NSudyrh3jXZc+yu1t5bmYAAAAAAAAAAAAAAAAABhbbCmqdtklGEIuUpPwS6sAnOJ8iWdn4egUWOLyJKV7j4Q8vo38EUONj14mNVjUx7NdUVGK9ETvDULdS1XN1y7Zwm3Vj7vfaO\/h5eHzZTlk8uEy0ONuq+enb3mAAVmoAAAAAAAAAAAAl8eXsHH2RXZFqOdVvW\/BtLf\/K1\/wDSoJzjDGnHHxtVp\/6uDapPm9uy36eqXzO5h5dWdh1ZVL3hbFSXp6Fks0mZaPBOVN912f8ATeACs1AAAHJxNYnk8Q5mm90owx601Ltbtvl\/qvkdYmcJOr9IGeuXZsx09t\/HaH9SmJzSVrFFCUpJ4uTf5AAIF4AAAAAAAAAJ7jPLnRo8cer9vKsVe23VeK+xQkxxLFZHEWi49nKvvHL\/ALua5fT6k6fiM21N7ppc8vU7+Bh16fg04lSSjVHbl4vxfxe7PQAQNCSSsgAAdAAAANV+TRiwU8i6FUW1FSnJJbvwNoOXWgB4srT55GoYmWsq2tY7lvVH9me625ntOnE227oAA4SNd9NeTRZRbHtV2RcZLzTODwn7Vh15Ok5Vcl7LPeubXKUW3+fP4lEfNlvvtzJJ5NFcqd5qfQ+gAiWAAAExR+8TJ\/ll9olOTFH7xMn+WX2iU5OfLsZtn0l8zAAIGkAAAAAAAAAE3xhj3QpxNVx0nPAt7bWz5ptfTdfUpD5KKlFxkk01s0\/ElF2dyurT3kHE0YObRqOJDKxp9qua39U\/J+p6CWydH1PQ8ueZoTU8eySdmI\/Hn4en1RnTxrj1zVWpYORhWeO8d1+T+hJwvnHMpW0KPDVyf29SmB4cbW9LzF+ozqZPbfZy7L29z5nrndVXDtzshGO2+8pJLYhZo0KcZK6ZmefNzcfT8WeTk2KFcFzfn6L1OVqnFeFhpVYbWbkze0a6nuk\/Vr7I8mJoGdq98M3iG1tR514sXtGPv\/3v5skoc5FEq93gpZv7LuasPFyOLM5ahnxlXptUv+HofLvPV\/n8itPkYqMVGKSSWyS8D6clK5ZSpbtdW9WAARLQAAAAAAAAAAACYo\/eJk\/yy+0SnJij94mT\/LL7RKcnPl2M2z6S+ZgAEDSAAAADTZmY1WRDHsvrjbZ+xByScvgDjaWpuAAOgHL1TWlpmbiUSxbbY5M+w5xT2i20l7315HUOtNZkVOLbS5A1201ZFbruqhZB9YzimvkzYDhLU4uVwlo2VLtey9zLzpk4\/Tp9DyR4E0iL3dmVLpyc1+SKUE8clzKHs1Fu7ijw4Gjafpi2xMaEH\/if4pfN8z3AEW29S2MVFWirAAHCQAAAAAAAAAAAAAABMWP2P9IEJ2bKOXR2YPteO3l\/4lOcvXNDp1nHinJ1ZFW7ptX8L9fTocpZnFemx7q7Brz4xX4bIdX8vzSZZbElYxqToykpJ2bvdZlSCY\/t\/iCz8NfD04y85t7fZD\/nHNe++LgRfhyb2\/8AY5gfNk\/iYvwxb+n7KLIycfFr7zIurqj5zkkcXK4w02mfc4qtzbnulCmPLf3v8tzVj8H1WTV+rZuRnXdNnNqO3l5\/VHaxNMwcFL2XEqqaW28Yrf59TvAvM5evPS0V6v8ARwIw4p1luUpR0qiWziv49vv89j36bwxiYN\/td9lmXl7qXfWt8nt1XP77naBxzeiyJR2eKeKWb8\/dgACBoPmye266dD6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "BELÉN RAMÍREZ VIVANCO",
    "correoContacto": "belen.ramirez@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I1145\",\"id_control\":\"29020\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "13:02",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:41",
    "horaDespacho": "11:56",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 13:01:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 13:01:59 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 13:01:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3085', 1, 9291721, 0, NOW(), 
				'11:56', '12:41', '13:02', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781629319.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 13:01:59] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200744
[16/06/2026 13:01:59] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200744', 'TOS-I1145', 1)
				
[16/06/2026 13:01:59] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29020 and
				    IDproducto = 'TOS-I1145'
				

16/06/2026 13:01:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:01:59 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-I1145';
                
16/06/2026 13:02:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200744'                    
				WHERE idllamado = 13029			
				TO ENVIO: micorreo@miempresa.cl, belen.ramirez@eplicancabur.cl, dsprint@gmail.com


16/06/2026 13:02:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13029			
				
16/06/2026 13:02:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 13:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:02 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:02 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:02] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:03 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:03 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:03 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:03] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:04 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 13:02:04] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13029
            GROUP BY l.idllamado;
            

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13029
                

16/06/2026 13:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:09 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:09] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 13:02:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:11] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:14 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:14] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:02:15 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:15] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:16] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:20] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:32] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:33 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:33] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:02:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:44 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:44 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:02:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:02:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:02:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:02:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:02:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:02:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:03:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:53 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:03:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:53 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:53] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:53 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:54 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:03:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:54 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:03:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:03:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:03:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13028
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:12
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:03:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:03:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:03:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 13:04:44
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-d7gyAMv5Dmet9TEX+XxYBFUoM+LSHW4ZBOWHyI.gYSnDKQyE3cj
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3083",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo\nse entrego un toner iton 2956",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13028",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACHAPMDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYCBAUDAQf\/xAA5EAACAgECBAQEBAQEBwAAAAAAAQIDBAURBhIhMRNBUWEicZHBFIGh0QcVscIWIzJCNlJyc+Hw8f\/EABgBAQEBAQEAAAAAAAAAAAAAAAACAwQB\/8QAKxEAAgIBAgQEBgMAAAAAAAAAAAECEQMhMQQSIkFRYXGREzKhwfDxcrHh\/9oADAMBAAIRAxEAPwD9mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ3D4ksfEmTpWdCNfx8tDj+ifz7lEQvHOFKOq4mTRF+JfHk+FdXKL6fn1X0NMaTdM5OLnPHBTj2epdA5PD+t16xhJyajlVpK6vs9\/VezOsQ006Z0QnGcVKOwMbJOFcpLuk2ZHnkNRxrZPolBt\/Q8KexPcLcSXazfkUZfhxtilOtQWy28\/t9SlPzbhtzwNX07I8TavKnKtrfu+39Wj9JNcsUpaHHwWWWTF1br9gAGR2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmuOKpfyqjLrXx498ZKXon\/52KU5PFFPjcOZkdk3GCl19mn9i4OpIw4iPNhkvI5+r6PbKdeu6I+TK5VOdce1qa3\/ADft5\/M6Wh65RrWNzR\/y8iHS2p94v1XsZ6Be8jQcKxycn4STb7trp9jS1bht5OQ8\/TL\/AMFm77ucW0p\/Pbtv59HuVafTIyUZRrLj2e6+68zvHK4ly1h8P5c2+s4OuPzl0+5y4a3xFpy8LP0eeW108Wjz7dXsmvP2MY06lxTm1zzsV4enUSU1VNbuyXv29\/L2ChTt7CedTi4QT5n5bGnqWn2YnBem5MYON2LNW\/8ASpvfr+biiyxr45OLVkQW0bYKa+TW5q65j\/itDzKfN1Sa+a6r9UavCeT+J4cxW3vKtOt+2z6fpseSfNG\/MY4rFm5Fs0vpodkAGZ2AAAAAAAAAAAAAAAAAAAAAA8cnKow6Xdk3QqrXeUnsjHNzcfT8WeTk2KFcF1fr7L3JnDwsnirMWo6kpV6fB\/5GPvtzr1f7+fyLjG9XsYZcri1CKuT\/AC2dnSuIcPV8idONC5OMXLmnHZNbpfc6phVVXTXGuquNcIraMYrZL8jMl1ehpBSS6nbAAPCwAAAa2o0\/iNMyqdk\/EpnFJ+6ZsgI8atUcHgu7xeHKY7tuuco9fLrv9zvEvwc\/w92qac014GQ2v1X9qKgvJ8zMOFd4Y+3toAAQdB8klKLi+qa2ZM8Fb0VahgNtvGyWuv0\/tKclsRvTOPMmiSarz6+eHo5d\/tL6mkdU0cubpyQn517lSADM6gAAAAAAAAAAAAAAAAAAATfE192Vn4WhUWSr\/Fvmuce\/J\/8AFL6FRVujPLk+HHmNXVMj\/Eev42lYlnPh0PnyZwfwy28vf0XuysjGMIKEIqMYrZJLZJGrpulYek0eDiVKP\/NJ9ZS+bNw9k09FsRhxyjcp7v8AKAAINwAAAAAAAACY0huHGurVp\/C4KXX1+H9ynJfPc9N46w8nfarOr8KT9X22+vIVBc+zObh9OaPg39dQACDpBMcX1zxbcDWa47vEtSml3abTXl27r8ynPDMxKs7DtxblvC2Li\/b3Ki6dmWbH8SDitzOi6vJorvqlzV2RUov1TBpaZpP8u06rE\/FW2eGn8SfLvu2+3X1B46vQqLk4q1qYx1mD4glpDpaaq8RWb9+3Tbb59fY6ZMPp\/ERb9N8bp79CnKkkqM8M3Lmvs2gACDcAAAAAAAAAAAAEvpK\/mXGWoaglvVjLwa35b9uj\/KX1KPKuWNiXXvbaqEpvf2W5weB6PD0F3NfFfbKW77tLp9maR0i2c2Xqywh6v2\/ZRgAzOkAAAAAAHxNNbp7pmNtatqlW5SjzLbmg9mvkzn6Lo0NGpnXHJuvc3vvY+i+SPdKIblzJJaHTAB4WTvGuNKzR4ZdTasxLVNST6pPp\/Xb6HbwslZmDRkpbK2uM9vTdGWVRHKxLsebajdCUJNejWxxOFPxeJTfpWXRNPEl8Nr\/0yUm+36l7w9Dmrkz32kvqv8KAAEHSAAAAAATGT8P8RMTz5sZ9vLpPv9CnJi34v4iUbdeTGe\/t0l+6Kcufb0Obh95\/yf2AAIOkAAAAAAAAAAAA0NcbWhZ3Kt26Jrb16GvwrHk4aw47bdJbr35mdO6qGRRZTYt4WRcZL2a2JbSNTfDlstH1feuuMnKi\/l+GSb3fby3f69djRK4tI5cjUMynLaqK0GutQwpV+Isyhw235lbHb67nHzOLsSE1RptNmo5De3LUmor89uv5EqLexrPNjgrkygB5Y07bMWqd9aqtlBOcE9+V7dUepJonasAAHoAAAAAAAAAAAAAAAAABMYjd\/wDELMab5aMdLp59I9P1f0KcmNK\/461X\/tL+0py57r0Obhvlk\/N\/2AAQdIMZSjCLlOSjFd23skfLba6KZ3WzUK4JylJ9kiScsvjHO5YOePpNE+suzta+\/wDQqMb17GOXLyUkrb2RTYmpYWfKccTJrude3NyPfbc2jTwdKwdNi1iY0Km0k5JdXt6s3Dx1ehpDm5erfyAAPCgDTzq8+yzG\/BXV1Qjanfzrfmh6Lp+xuHp4nbaBr5mBiahV4WXjwuj5KS7fJ+RsA8DSapnBfBmiubl4E0n\/ALVY9v3Opg6dh6bU6sPHhTF99u7+bfVm0CnJvdmccOODuMUgACTUAAAAAAAAAAAAAAAAAAAAAmcPev8AiFnJ78tmMnFeX+z9mUxL8Q82mcQadrPanfwbntvsuv2b+hTRlGcFOElKMlumnumjSeyZzYNJTg\/G\/fUyAJjVdVydXzJaNo0vbIyV2gvNJkxjZplyrGre\/ZeJ5Z2TdxZmy03BnyafS98i9dedrsl69un1KbFxqcPGrxqIclVa2ijx0zTMbScOONjQ2XeUvOT9Wbh7KV6LYnFjceufzP8AKQABBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeGZh0Z+LPGya1ZVNdUybjo2vaJOUNGyYX4kviVV+26f\/vpsAUpNaGOTDGbvZ+K3M54nFOqwdGXdj4NDe0\/C6ylF90ur\/qu52tK0nE0fF8DFhtv1nOX+qb9WAHJtUIYYxfNu\/Fm8ACTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "BELÉN RAMÍREZ VIVANCO",
    "correoContacto": "belen.ramirez@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:05",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "12:41",
    "horaDespacho": "13:02",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 13:04:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 13:04:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 13:04:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3083', 1, 9291721, 0, NOW(), 
				'13:02', '12:41', '13:05', 10, 'insumo
se entrego un toner iton 2956', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781629484.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 13:04:44] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200745

16/06/2026 13:04:44 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200745'                    
				WHERE idllamado = 13028			
				
16/06/2026 13:04:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                
TO ENVIO: micorreo@miempresa.cl, belen.ramirez@eplicancabur.cl, dsprint@gmail.com


16/06/2026 13:04:44 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13028			
				
16/06/2026 13:04:44 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

[16/06/2026 13:04:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:04:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

[16/06/2026 13:04:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:04:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13028
            GROUP BY l.idllamado;
            

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13028
                

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:04:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:58 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:58] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:04:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:04:59] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:04:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:04:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:05:00] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:01 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:01] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:05:06] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:07] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:05:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:05:08 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:05:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:08 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:05:12] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:05:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:05:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:12:29 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 13:12:29] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 13:12:29 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 16/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 16/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 13:12:29] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 13:12:34 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:12:34] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:12:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:38 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:12:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:12:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:12:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:12:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:12:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13062
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => CONFIGURACIÓN
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:19
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76464003
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2376
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [12] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:12:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:12:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                
[16/06/2026 13:19:04] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '21773342'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 13:19:04 - INPUT: {"rutTecnico":"21773342"}[16/06/2026 13:19:04] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 21773342 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '21773342'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 13:19:04 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => CONSULADO DE ARGENTINA ANTOFAGASTA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 69900303
            [ModeloMaquina] => WF-6590
            [FechaLlamado] => 12/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [RutCliente] => 15333221
            [ModeloMaquina] => ESTUDIO 3528A
            [FechaLlamado] => 11/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 10/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 10/06/2026
        )

)

16/06/2026 13:19:26 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:19:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:19:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:19:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:20:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:20:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:20:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:20:15 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:20:15] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:38 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:24:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:38 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:38 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:38] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:39 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:39] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:40 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 13:24:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:24:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:40] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:41 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:41] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:42 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:42] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 13:24:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:50] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:51] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:54 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:54] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 13:24:56 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 13:24:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 13:24:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:24:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 13:25:14 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:25:14] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:25:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:25:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:25:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:25:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:25:40 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:25:40] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:25:40 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13050
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => DEMORA EN IMPRIMIR, REVISION
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 17:31
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15014912
            [ClienteRazonSocial] => HECTOR MAURICIO PINTO RAMOS 
            [ciudad] => CALAMA 
            [ModeloMaquina] => MA5500IFX
            [SerieInternaMaquina] => KY2798
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:25:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                
=========================================
FECHA: 16/06/2026 13:29:02
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-sbyVek3Qk1rz2Rlxhb2BnpdX2_9Xxi2p6-XQrmmCHe5hhY._wDf
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "15014912",
    "serieinterna": "KY2798",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "111561",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Se desconfiguró por cambio de Pc Mantenimiento\nConfiguracion",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13050",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACIAKIDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAgMEAQf\/xABAEAABAwMBBAYHAwsFAQAAAAABAAIDBAURBhIhMUETFFFhcaEiMoGRscHRB8LSFRYjJDM0QlSS4fBSU2JygqP\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAuEQACAQIEAwUJAQAAAAAAAAAAAQIDEQQSITFBUdETInGBoSMyQmGRscHh8FL\/2gAMAwEAAhEDEQA\/APsyIiAIiIAiIgCIiAIiIAiIgC0VlXDQUklVUP2YoxlxW5zg1pc4gADJJ5L53qC9T6guLKGkz1bpQyIY\/aO4bR9\/uU4QzMzYmuqMb8XsWnTN1rbxDU1NSxjYOlIhAbg45jPPG7zU4uegoorfQw0kPqRN2c9p5n2nJXQuSab0LaUZRglJ3YREUSwIiIAiIgCIiAIiIAiIgCIiAIiIAiKt6kulRNK2yWvLqub9qW7ujbjPHlnPHs8VKMczsV1aipxzM571X1F\/r\/yJanfogf1qcb247PAeZ3LXY6CnqNTSyU7B1S2t6KI8QX7wTnmfWOfDuUsymp9L6cmdEAXxx7Tn7gXv4DzKx0jRGlsUcj98tSTM9xzk54ce74qzNaLsYlTcq0c++7+XJfUnERFSeiEREAREQBERAEREAREQBERAEREARFqqaiOkppamZ2zHE0uce4Icbsrs4b7eYrJQdO8bcjzsxR59Y\/QLl01ZpaKJ9dXZdX1O+Rzjktb2f58lw2all1BdHXyuYerMOKSJx3DB447se\/wVrVku6sqMtNOrLtXtw69Cta1ke+hpaCPO3Vzhu4ZyB\/chWGGJlPBHDGMMjaGtHcBhVu9DrGtLRT4B6NplwfEn7qtCS0ikSpd6rOXgvT9hERVmkIiIAiIgCIiAIiIAiIgCIiAIiIAqre3y36+RWKAkU0JElTI0cDjhnw8z3KV1Dd\/yRbi+IB1TKdiFmM5Pbju+i16Ys5tVu2piTU1JEkpPEbtzfZk+0lWR7qzGWr7WfZLbd9PMlYYY6eFkMLAyNgw1rRuAWxEVZq2KxCRU\/aHPg\/u1Nz38hw\/qVnVY07mfVF7qD\/BJ0e\/jxI+6rOpz3sZsNrFy5t\/cIiKBpCIiAIiIAiIgCIiAxe9kbS97g1o4lxwAuGa\/WmDdJcafI5NeHHyWV2tNPeKTq1SXtaHBwdGQCD7QVDfmDav5is\/rb+FTio8WZ6sq6dqcU\/M7jq6xA768eyJ5+S8\/O+w\/z\/8A8X\/hUc7QFAc7FXUDszsn5LU\/7PoD6lxkbu5xg\/NTtS5mZzxv+V\/eZMM1ZY3nAr2j\/tG8fELc3UNncCRcafd2vwq277PXjGzcwfGHH3lC0enZrjdJ6OinZKyAkPnIIZ8+KkoU3syuWJxUGlKC1\/uZYrK12pL2+8VWBBTnZpoC7e0jBBx\/m\/wVuXz92gro05ZU0pxv9ZwOfcs26f1XRnNPVPO\/OGVO4+w4CSjGW0jtGrVpLvU2292X1FSWVmtKHdLTOqA0cHRtf5t3ldMetKmn3XO0TQ4O9zQR5O9vNV9m+GpoWMp\/EmvFG7SHp1l5l4h9T63bvd9VZ1RtL6gt1v671uZ0XTzbbMsJ3ezKtUF9tVTgRXCnJPAF4aT7Cu1IvNscwlWn2SWZX1+53osWPZI0PY4OaeBacgrJVG0IiIAiIgCIiAIiIAiIgCIq7e77K+oNntAMtbJ6L5G8Ihz39vw8VKMW3oV1Kkacbs1Xy61FfcBYbU7Ert1RMOEY5jPx93FTVqtdPaKJtNTjdxc48XntK0WOyQ2WlLGnpJ5N8sp\/iP0Uouya2WxXSpyv2lT3n6Ll1CIigaAiIgKXp60UFwfdaasp2vfFUEAjc5u88Dx5Ly46BO059uqRjGRFN8A4fRd1l\/VtZXilHCQCb4H76s6ulOUZaHnUsNSqU7SWqbXqfMmUZtVV1eumq7ZKfVni9JjsHGcDB7eBPHgrFT0uqY4WzUd2p62F4Bbt78+8fNWaopoKuEw1MLJYzxa8ZCq09DVaQnNbb9uotzyOnhcclneD8\/epZ8\/iQeH7DXXLzWjX4ZuN71LRZ67YxM0DjAT8tpZs1xbw7Yqaaqp39jmAj458lO0VbT3ClZU00gfG8bj2dx71smghqGbE0TJW9j2gjzVd48UalTqWvCpdfNX6HHT3601WBFcICXcA5+yfcV3MkZK3aje17e1pyFFT6VslQS51CxhP+24t8gcLjk0NaZHNPSVTQ0YDRICOOeY71y0OZ3NiFvFPzt+CxosWtDGBreDRgb8ooGkyREQBeOcGtLnEAAZJPJclxulHaoDNVzBgx6LeLndwHNVwNuur3jpA6htYORj1pfr8PFTjG+r2KKlZReWOsuXXkbq+91V6qHWuwglvCaq4Bo7j8+fJS1lsdNZqbZj9Od4\/SzHi4\/ILqoaCmttM2npYhGxvvJ7Sea6UctLLY5TovNnqO8vReAREUDQEREAREQFYqP1X7Qqd+cCqpyDzyQD+EKzqr6wHVai2XQN3U8+HnHLcfkferOCCMg5BVktUmZqOk5x+d\/qerFzWvYWPaHNcMEEZBCyRVmkqlpBsWqp7QP3WqHSw5xuOP7EewK1qsXslusbOQcEgg45jKs6snrZmXD93NBbJ\/sIiKs1BERAQ12uN3pKgMobV1mPG9+1z8FwOqdW3HZZDSRW9pOHSOIJHsOfIK0IpqSXAzyoyk\/fdiCoNK0tPMKqukfX1WcmSY5APcPqpwAAYAwAvUUW29y2FONNWigiIuEwiIgCIiAIiICI1RR9c0\/VMAy6NvSN\/87z5ZWzT1Ya6xUkzjl+xsOJ5lu7PkpNVPT8jrLf6qxzHEUhMlOT8Pd5tVi1i1yMs+5WjLg9OhbERctxr4bZQy1c5w2MZA5uPIDxVaVzS2oq7IGV4r\/tAhYx2W0UBLsHgd\/4gFaFXtI0kvVJrnUgmorn7eT\/p5Y7v7Kwqc97cjPhk8rm\/id+noERFA0hERAEREAREQBERAEREAREQBERAFD3+zOucUc9NJ0VbTHahfw37jg+5EXU2ndEJwU4uMjgZqC\/U4ENTp+WWUbjJHtbPkD8V5Farlf6uGrvbGwUsfpR0rTvJ\/wCX+d25EVjdldIxwg6knGcm0v7Us7WhrQ1oAAGAByXqIqjeEREAREQH\/9k=",
    "razonSocial": "HECTOR MAURICIO PINTO RAMOS ",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "NIEVES",
    "correoContacto": "hectorpintoabogado@gmail.com",
    "correoCliente": "ALEXGEMMELL@GMAIL.COM",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "DEMORA EN IMPRIMIR, REVISION",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56950326389",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:29",
    "ubicacionGPS": "LatLng(lat: -22.4609061, lng: -68.9281701)",
    "horaLlegada": "13:21",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 13:29:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 13:29:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:15014912

[16/06/2026 13:29:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('15014912', 'KY2798', 1, 21773342, 111561, NOW(), 
				'08:00', '13:21', '13:29', 4, 'Se desconfiguró por cambio de Pc Mantenimiento
Configuracion', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781630942.png', '', null, 'COMPLETADO','LatLng(lat: -22.4609061, lng: -68.9281701)' )
				
[16/06/2026 13:29:02] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200746

16/06/2026 13:29:02 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200746'                    
				WHERE idllamado = 13050			
				TO ENVIO: ALEXGEMMELL@GMAIL.COM, hectorpintoabogado@gmail.com, dsprint@gmail.com


16/06/2026 13:29:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13050			
				
16/06/2026 13:29:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 13:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:06 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 13:29:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:29:06 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 13:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

[16/06/2026 13:29:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13050
            GROUP BY l.idllamado;
            

16/06/2026 13:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13050
                

16/06/2026 13:52:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:52:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:52:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                
=========================================
FECHA: 16/06/2026 13:53:29
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-xa0nnuUUK_XbAZEVtr.GzOu2ParUUrl2ldypS3pKkKjA9yuN-_.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76464003",
    "serieinterna": "KY2376",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "1319798",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se instala perfil para imprimir oficio\n",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13062",
    "observacion": "•Pendiente investigar cómo configurar usuario en mac\n",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADdAUcDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABKEAABAwMBBAYHBAQMBQUAAAABAAIDBAURBhIhMUETUWFxgZEUIjKhscHRFSNC8CQ2UrIHFjM0YnJzgpLC4fE1Q3Si0iVEU1Rj\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECBAIIBQQCAwAAAAAAAAECAxESITFBBFETIjJhcYGx0UKRoeHwFCNSwSQzRILx\/9oADAMBAAIRAxEAPwD9mREQBERAEREARFk6251uo6yS2Wg9HSNOzUVXWOz39\/YFKMblVWqqa5t6Il1uqmel+g2mnNfU7xlp9Rp7+fw7VwZQ6srB0lRcIaTPCNm8jj1d\/WeCurVaKW0UrYKdgzj15CPWee1TlLEl2UVKjOedSXksl9zKuq9VWcNkq4orhA32zCPWx4AHr34Par21XWmu9I2op3cvXYeLD2qasldonaZvMd3pI\/0OoOxUxtG4Hr7OvvHaitPLcjLFQ61247327zWovMcjJY2yRu2mPAc09YK9Ks2BERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEReJZWQxPlkcGsY0uc48gOJQGe1NcZ5ZobFb3H0qq9tw\/Czfn4Z7h2q3tdrp7TRNpacbhvc8je89ZVHpWP7RuNffZWEGV\/Rw7XJv8Atgea1Ksnl1UZaCxt1nvp4fcIiKs1BRrhRsuFvnpH7hKwtz1HkfAqSiaHGk1Zmf0dWPns5ppQRLSPMTgTvA5fMeC0Cy+nx6Pqq80w3BzukA5cc\/5lqFOp2ijhm3SSe2XyCIigaAiIgCIiAIiIAiLhV1lPQU7qiqlEUTeLj+d6HG0ldndFGoK+nuVK2ppX7cZ3doPUVJTQJpq6CIiHQiIgCIiAIiIAiKFdrgy12yasfgljfVafxOPAea6lfI5KSim2c62+2+31cVJUT7Msp3NDSdnqzjhlWK\/ODRST11sqagl1VcqjpXbsbMe0MbuG8ZPcAv0dTnFRtYzcPWlVcsSstgiIqzUEREAREQBERAFm9YVUz4Ke0UozNWvAP9XP19wK0iytpJu2sK24nJhpB0MRI3Z4bv8AuPipw1vyM3ENtKmviy8tzRUFFHbqGGkh9iJuznrPM+JyVIRFDU0JJKyCIiHQiIgMxav16uv9kP8AKtOsxav16uv9kP8AKtOrJ6ozcN2X4v1CIirNIREQBERAEREBxq6uGhpJKqofsRRjLisPcpKi+W+ovNYTDRQgspYc+24nGe3HyU+oe\/Vt7NJE932XSHMjm\/8AMd3\/AA7MldNUsbNLbLDTDo2SPBc1pxssG4fPyV8Fha5nmV5urFtdlZLvfsi20zS+iafpWbJaXt6Q54+scj3EK1XlrWsYGNGGtGAOoL0qW7u56EI4IqPIIiLhMIiIAiIgCIiALKXzN+1FTWVjj0FP97UY\/PUcf3lp5pWU8Ek0hwyNpc49gGVi7XXOobLc7\/MT6RWSlkOTxO\/h4k\/4VbTW5j4qSyg9NX4InWxjbrrCqrtn7igb0MOPZzvH\/kd3WPHVKk0nb3UFkjMrcTVB6V\/Xv4Z8MK7UZvMs4aLVO71efzCIigaAiIgCIiAIiICDeaw2+z1VUDhzIzsn+kdw95CgaPoRR2CJ5aA+oPSuOOR4e7Hmous5DUNoLVGfXq5xnHIDd8Xe5aVjGxxtYwYa0AAdQVjyh4mVdeu3\/FW82ekRFWagiIgCIvhIAyTgBAZixnptY3iYYIbhmR15x\/lWoWX0SHTQ3Cvdxqag8eO7f\/mWoVlTtWM3C50r87v6hERVmkIiIAiIgCzep7lUPlisltJ9Lqd7iDjZZv3Z5cM9w7Vd3CuhttDLVzuAbG0kDONo8gO0qj0lQyStmvVa1rqmrdlhwPVb2dWfkFZFWWJmWvJyapR317l9y4tltprNbxTw7mN9Z73H2jzJ8lRada28X6uvj8uYx3RU+RwGOPlj\/EVN1bcDSWn0aI\/pFYeijAODjmfl4qws9vZbLVBSNGCxuXnrcd5Pml7RberOOKlVUFpHPz29yaiIqzWEREAREQBERAERQrheLfa2g1lS2Mng3eXHwC6k3oRlJRV5OxWazrDT2QwMyZKp4jADc7uJ+niqo0Tay7W6wsG3TW9gfU4Hql\/E+fDxKi3XUVHXX+CraXup6KMuia5p+8k4juGdnyV\/pG2yUtFJXVWTVVrttxcN4HLzJJ8Qr7YIZnmXXEV2lmv6Xu\/Q0CIiznqhERAEREAUdtfSvrn0LZQ6ojbtPYAfVHaeHMLs5zWML3HDWjJPUFmtHMNVJcLu8HaqZyG5zuHH5geCkldNlM6jU4wW\/ojToiKJcZerHpX8IFJG72aaDaweZ9Y5948lqFmLHms1dd60jIixC0+ON3+FadWT2Rm4bNSlzb9giIqzSEREAVXqOs9BsNVKDhzmbDe92755Vosvqt3p1wttmaf5aUSSb\/w8O\/hteXlOCvIo4iTjSdtdPmWemaQ0Wn6SNzcOczpHZ45dv+BCtV8a0NaGtAAAwAOS+qLd3cshFQiorYIiLhMIiIAiKl1Nd3W2gENMc1lSdiJoPrDP4vzzK6k27IhUmqcXJ7FXWF2q796BG5wt1EczOH4n7xu+A8Sta1oa0NaAABgAclW2C0ts9rjgwDK4bUp3e11Z5gLzqW5OtdlmmjOJX\/dxnPAnn4DJ8FN9ZqKKKa6ODq1NXm\/YqadrL7rOSpyX01uAazqLwfrk+AWrVRpm1fZNnjje3E8v3kvWCeXgN3mrdcm7uyJcPBqGKWrzYREUDQEREAREQBERAVeoLr9k2x0sYDqiQhkLMZy49nZx\/wB1V0NihoaSe8XsCpqiwyPE2CGY3gd\/D4Bfbhmv1xQ0j8GGmiMpaR+Leer+r5L1rOuLaGO2QEuqax4AY3iW5+ZwPNXRTVorc8+pJNyqS0jkl3\/mRlLLZpdRVs\/3nQhoL3v2cgE8Bx57\/JbPSVwkrbR0U4PTUruicSd5xw+ngpVhtEdmtrYBvld60rut30Cq9Ik+m3kZ3ek\/Ny7OWNPuIcPRdCUL6yvf1NOiIqD0wiIgCIiAq9SVXoen6uQO2XOZsNxxy7du81801S+iaeo49nBczpD15dv+ardcPc+io6Jhw6oqAOPIbuHeQtKxjY42sYMNaAAOoKx5QRmj1uIk+SS+eZ6XlzmsYXuOGtGSeoL0q6\/zmmsNbI04PRFoPUTu+agld2L5ywxcuRVaHYXW6qqnbjPUE46tw+pWmVRpanFPpykAG97S89uTlW6lN3kyrho4aMV3BERQLwiIgCytmLrtq6uuJJMNL91F6uBnePhtf4vBXV9r\/s2zVNSDh4Zss349Y7h8c+Cj6VoPQLDA1wIfL968HrPD3YViyi2ZanXrRhyz9i4REVZqCIiAIiIDlU1EVJSy1MztmOJpc49gWa0\/TS3q4u1DXcASylj5NAzv8Mkd+V4vU0moryyx0ryKaF21UytHsuGd3y7+5amGGKnhZDCwMjYMNa0bgFZ2Y97Mi\/eqX+GP1f2Oiylwa6+6vgoWu\/RaAdJLj9rjj4DzV\/dbgy122arfgmNvqtJ9p3Ieaq9IUMkFtdXVBLqiud0riRvxy8+Pikck5Ha37k40vN+C92aBERVmoIiIAiIgCIiAIi5VFRFSU76id4ZHGMucUON2zZlLvXR2bWfptQHOYaX1Q0cTvGPcoGnfSbxq41tWHbUYMpByA3k0Ds37u5cLrU1l3cL9JSg0NPM2Nkbm+03Od56s7j2nC0ejaR4oJ7jM09NWyl5J\/ZBPzJ9y1Pqw79Dx4Xq17Ls3xff5mjWY0fh1Vd5BwdU7vN31V5dKv0C11NVzijJb38vfhVejaM09jbO8kyVTzI4k5OOA+GfFUrKDPQnnXgltd\/0X6IirNIREQBERAZCupI6n+EKlDNolrGyybRyAWg4wPBvmtesxavv9c3Wd3GOMRgf4R8vetOrJ7LuMvDJdaXNsLPa3qBDp50ed80jWY68Ha+S0Ky+qvv7xZaPGQ6faeBxxlvyyuU+0iXFO1GSW+XzyNDRQejUNPT\/\/ABRNZx6hhd0RQL0rKwRF8c4NaXOIAAySeSHQ5wa0ucQABkk8lm6zU1RV1ZorBT+lSN9qY+w389ZUesqqrVdcaC3yGO2xH7+cZ9fs+g8SrsRUOm7PK+KMMihbtO63u4DJ6ycBWpKOupjlUlVvhdorf29zLVZul1vVLYrpJFJsy9LIYd2G7OccuWe3et01oa0NaAABgAclhdGCa4agqrhMSXBpc48tpx4fHyW7Srk0iPBdaLqc39EERFUbgiIgCpNSXl9BA2jpA59dVerEG8W53Z+isrhXwW2ikq6h2GRjhzceQHaVQ6aoJa6qkv8AcG5lnJNO0k\/dt3\/7Ds71OKXaZmrTbapQ1f0X5oWVgs7bTQAOANTKA6d+Sdp3+mVJulygtNC+rnyWt3Bo4uPIBSyQBknAC\/NNUXw3e4FkZ\/RoCWx4O5\/9LxUoRdSWZXXqx4alaOuxLiudbqu4w2+fdTmYyPDPV9Qcu338V+gNaGtDWgAAYAHJZfQ1sdT0MlwlGH1JwwcMNHPxPwCs4tQU9RfjaoGmQtaS6RpGA4cR+fku1M3aOiI8L1IKdR5y\/EWyL4SAMk4AUA321+lNpRXROleQA1pzx7RuVSTehtlKMdXYsERR6uvpKBodVVEcIPDaPFc1OtpK7JCLMnW9G6tjhgp5JIXuDTNw3nqC0yk4uOpXTqwqXwO9giKuu18obPCXVEgMhHqwtOXO+g7SuJN5InKUYK8nZEuqq4KKnfUVMojiYMucVlwarWVXkh9PaIXcOBmI\/PgvVLbLhqSojrryOio2naipRkEjt+p3nsWpiijhibFEwMYwYa1owAFPKHiZbS4jXKP1f2M1q6QU1rpbPRtaw1Ugjaxo\/CCN3mR71ztdXNpq5fY1xl2qSTfTTu3Adn54HvXqM\/a+vHvzmG3MwPW\/F\/uT\/h8FfXO10l2pTT1bNocWuG5zT1gqTaSUWVqEqk5VYPNOy5WWpT60le+3U9BDvlq5w0N6wO7t2VoKeFtNTRQM9mJgY3uAwvzuCU2rUTTVPnrKS2v6ISDOI85x787s8uzC\/QKKvpLjD01JOyZnPZO8d44jxXJxwpIlw1VVKkpPJ6W8PuSERFUbgiIgCIiAzFj\/AFwvPh8Vp1mLH+uF58PitOrKmpm4XsPxfqFmK79I1\/QR8WwQFx7Dh3+i06zFB+k6+uE3FsEIYOw+qP8AySG77hxGeBc2vc06IirNIWVv9ZU3i4fxetxwR61TLyDd27u3jPbgdauL9dWWi1y1G0OmI2Ymnm49nZx8FH0xaPs239LMwelVB25HHeR1DOSrI9VYmZa16kuiXn4cvMsbfQQW2ijpKduGRjjzceZPaVlNaXEVUzbZDIOjhaZahwI3HgG8e3h2jqWmvFzitFukqpCMgYjafxPxuCwkkT5GRU1S8MqrjJ6RUvkJ+7iGcDJzj8Tu7ZU6Su8TKOMmlDoo\/nJefoajRdD6LYmzOHr1Li8787uA+HvWhWPkvNyuEUrrTsUNrpGFpnczeQBwaO7GAPNT7FeSzT3p10qWiMPcI5HAhzwD1cznqUZxb6xZQrU4pU1olrsXs00VPC+aZ4ZGwZc5x3AKrsl5mvFRVSNpiyiYQIZTuLjz\/PJUpNdrWb1M0lridvyfWefr7h2q\/wDtCzWajZB6VBDHCNkMa7LvIbyetccbK25KNVzlivaC+v2LNRq6vprbTOqKqURsb5k9QHNUcurn1EhhtNtnqnY9tzS1oPEbscx3LzQaanran7Q1DJ08x9mnz6jB1HG7wG7vymC2cjrr48qSu+ey\/O44UlLVarrm3C4MMVtiP3MB\/wCZ2\/U+AWta0NaGtAAAwAOSNaGtDWgAAYAHJfVGUrllKkqa5t6sotX3I2+yuYwkS1B6NpBIwOJPlu8VhLdRPvFzp6KPLWHDSR+Fo3uPxPecK515O593ggc47EcWQO0k5PuHkvtirqLT9pfWPLZa+p3RwtOSG8s44b9\/WtMFhhlqzyOIaq8S1J2ijSX27MsVujgpGNNQ8COnhAzgcM47FApNGQuoInVU0sdf7T5onnO\/lvJHDdkLtYrJUPqvtm8EvrJN8cZ4RDu6+zl3rRqlyw5RPRjS6Z46iy2XL7mZGj5H+pUXqslid7TckZHVvJHuVRU2iSzahjlprPUVdPEAYwwuIc7HFx2Tzzu7lvUXFUluJ8HTaWHJ\/P1MqajVt0bsxU0VuiJ9tx9bHjk+4KRS6RpIpXVdyqZK6XGXGU4b49fiVolEutLJW2yop4nuZI9nquacHPHGfcmN6LIk+HilileT7\/bQz1lpG3i7\/azY2w0VN6lLExoaDx34HDfv6\/DctLV1lNQwmaqnZCwc3HGe7rWYgGqaembb6WjghEZDRUHBLsbtreT1dSk02kTNUelXqsfXS5yG5IaOzu7NylJJu7ZTSlOMbQjm9W8kcp9Q3C8yGm09TuDQcPqpG4A7s8Pj2KbbNK0tHKKqrkfW1ZIc6SQkjPdz8VcwQQ00QigiZFG3g1gwAuig57RyL40LvFUd39F4IKNcKtlBb56t53RMLuHE8h5qSsxq+V9W+issDwJKqQOf2NHAnxyf7q5FXdidaeCm5LX+ztoyjdDaXVkuDLWPMhOMHA3D5nxVrda0W+1VNWeMbCW8Pa4D34UiGJlPBHDGMMjaGtHYBhZnU7pLtdaOwwOIa53STkDgP9s+OFJded2VS\/YoKK10XiyVpK2tisIfUs6R1YeleH78jlx8\/FcqvR8bKgVVnqpKCYHgCS36j3jsWja1rGBjRhrRgDqC+kgDJOAFzG73RNcNTwKEloZYagvNnwy9W4yxj\/3EHz5Z8lbUOo7TX4ENYxrzn1JPUPvU59ZSxfylTCz+s8BUdxpNKVeTPNRxyftRSta4eR3+IUspaorfSU+zNNd\/uaJFgZ4bXQjFBqmeHG4NaHPB79nH55KNFqi9xyiKnrDVsBGNqEEns4Z9670TehW+OjF2mvk0z9HRUenLhdq5spudKYQ0Do3GMt2uOePgiqas7G2nNVIqSIllGzrK8NO4kA47Ny06y8h+ztfseSBHXw7OeAzj45aPNahTnsynhslKPJv3Cy+kAKiru1fuJmqCARvwMk7j4jyC0ssgiifIeDGlx8FndCRllhe4\/jqHOHk0fJI9lipnWgvFmlRF5c4MYXHgBlVmkzFT\/wCt6yjpSHGltw23jO5z+PDvwPArUOcGtLnEAAZJPJZrQ7Nu31VY\/HS1FQdojsAPxJXO+V818rDYbWcjOambPqtA4j6+StlG8sPIw06ihT6R5uT09EcYpBqa6yXCpLmWigBLQ44DnDeSR3bz2YCoqp\/pshuNW7o47jUdHt4J6NjS3J4ns6\/ZKu9UVFNZ7NDY6PDTKAXkHeGgjee8\/ArjQUc+oo4KOEPprLS7s8HTEcT3k7+oZVsXZYtjFUi5S6PWW\/j7JFdd7p9oGntNrheaKB2xGxuczEc\/n4q9t2k5qtkc17lJ2GbMVMw4EQ6s\/LzytHRW6jt8QjpKeOIYAJa3e7vPEqSq3VytE2U+D62Kq792xl49DwBvRSXKqdCCdmMEADKn02k7LTYIoxKQMZlJd7uCuUUHUk9y+PDUY6RPEcUcLAyKNrGjg1owF7RFA0BcqmoipKWWpmdsxxNLnHsC6rHa7uuxFHa4nb34kmx1fhHnv8ApQjilYpr1VSpubKKKOo1XqNxcSBIcuLR\/Jxjdwz3eJW5tunLbbC18UO3K3eJJDtEd3IcSqPSctss9sdU1dbAyoqd5aXguawcBgb9+8+XUrSfWVkh9mofKeqOM\/PCuqOTdo6GDho0YR6Sq1ieeZeosnNr+iacQUc8gzxeQ36qE\/XtbK7ZprdGDyBLn\/DCrVKfI0y46gviNyiwwver6jBioXsHWKYgHzXRlLrarH3lQYQeZcxv7oXeitq0cXGJ9mEn5G1Xxzg0ZcQB1lZJulb5Ufzu\/yDsY57x7yF0ZoOmcc1VwqZd\/LA+OVzDHmT6as9KfzaL2W82uDPSXCmaRy6UE+ShyatsceQa4OI5NjcffjC5Q6LskWNqCSUg\/jkO\/ywpcenbNF7NugP8AWbtfFOp3i\/Ev+K+bK2TXdpYDsMqZDywwD4leBrZk38ztVXP17uXhlX8VuoYCDDRU8ZH7ETR8lJS8OQVOu9ZryRmP4w36bdBp2RhPDpSfmAqahlvt3u0t5o6SB0jB0Qc4jZYcAbsnecd\/FafVVxFvsc2HESzjoo8Hfv4nyz7lIsFvFss1PTHO3s7T8\/tHefLh4KaklG6RRKlKdVQc27Z7a7FJUyaup6WWqmqaOKOJpc7cOA8FXWW13u7mS7tuPo76glhk2fWeBgbsct2PBW+sKp0zaWzU5JmrJBtY5Nz8z8CtDTU8VJSxU0LdmOJoa0dgTHaN7ahUFUqtOTaj37\/+GdOl7rLvm1JVHPFrQ4D975J\/EiCXfV3OsnJ4naAz55WnRV9JI0fpaO6+rM8zRNnacvbPIc5O1J9F3ZpCxMx+hbRHN0rz81dImOXMkuHor4V8ivhsVpgxsW+DcMAuYHY81OZGyMYYxrR\/RGF6RRbb1LYwjHRWCIi4SM3rOnkFFT3GHPSUcwduHLPHwIHmr6lqGVdJDUx+xKwPHcRlfamnjqqaWnlGY5WFjh2EYWbsNZNZa3+L9x6yaWbG54PL889ys7UbcjK30VbE9Jev3Lu9ymCyVsgOCIH4OeBxgKJpKIRaapd2C8Ocd3HLj8sLrqT9Xa3+yTTf6u0X9knweZ3\/AJH\/AF\/stF5e3bjc3ONoEZX1zg1pc4gADJJ5LL1+oKq61RtunhtuwRJU8GtHYeXf5KMYtllWrGms\/luyiF6qrBbZ7NC0NqOmdtTNfnZHDA7d3FdbffIrLadm3W97p3jMtTM3Dc\/k7hn4rW2SxU9mpi1v3s798krhvcfkFT3V79SX9logeRSUh2qpwJAcQRkd44Dtz1K9SjJ2tkea6NWnFSxZ6JcvP1ZHsmn33x32zeJTKJiS2LGNoDcCTyG7gFsmMZGwMjaGNaMBrRgBfWtDWhrQAAMADkoNyvVBamZq5w12MiNu9x8FTKTmzfTpwoQu34snosXWfwgcRRUXc6Z3yH1VRJfNRXh2xDJO4Z9mmYRjxG\/zKmqMt8iifH0llHN9x+h1NdSUYzU1MUP9d4CqajWdlgB2Z3zEco4z88BZSm0neKjBNEyIOOeknk3jwH0VvT6DkcQau4Boxgsgjx7\/APRdwU1qyv8AUcVU7ELeP4j1U68\/+pbnkHOHzP2R5DvHNVlVrO8OzsS00J6o2bR8zkLRU+ibPC4OlbNUHn0knE+GFa01pt1GP0eigjOMZDBnz4piprRDoeLn2p28D88krtR1kL5nTVnQtbtOeMsYAO0YChW6gqLxcG00bsySZJe88McytXru67EUdridvfiSbHV+Eee\/wC76GtXo9E+4ytxJUerHnkwH5n4BW47QxWsY\/wBPj4hUsTdtSNB\/B83cai4E9Yjjx7yfkrGDQ9nix0gmnPPbkx8MLRIs7qTe56seDoR0iVcWm7NDjYt0Jx+2C\/45VhFDFA3YhiZG3qY0Ae5dEUG29S+MIx7KsERFwmEREAREQBEUa41jLfb56uQgCJhIzzPIeJwEWZxtJXZn64uvOsqeiGHU1AOkk5ja47\/+0efctNLKyGJ8sjg1jGlznHkBxKoNHUDore+4znbqK5xe5x47OT8Tk+S56wrZHx09mpN9RWuG0OpufmfcCrWryUVsYoTwUnWlq8\/ZHLTUT7veKvUFQ0hu0Y6dp\/CP9BgeJWrUegoo7dQw0kPsRN2c9Z5nxOSpChN3ZooU+jhZ66vxCIiiXBERAEREAREQBV15stPeaXo5fu5W745gMlh+isUXU2ndEZRjNYZaGIu\/8YrZZ56SqEdTRFoZ6QHZc0F27PPs4dW9drZc9QNtdNTUNnGy2IbMshIDhjcd+Bv4q31f+q9Z\/c\/faptl\/wCB0H\/TR\/uhW4upexgVFqu4qT0\/spPsC9XYk3i5dHC7f6PBw7jy+Kv6G30ttpxBSQtiYN5xxJ6yeakqPW1tPb6V9TUyBkbBvPX2DtUHJyyNUaUKd5b82Vmpbw+30zKWlBdW1Z2IQ3i3gM+\/cu9gtDbRbwxx2qiX153k5y7q8FU6co5rpXy6hr2AOedmCMt3NAx6w+HmVql2XVWFEKKdSXSy8vDn5hZ12ibXLVSzyvncZJC\/ZD8AZOcdfvWiRRUmtC6dKFS2NXK6n0\/aKX+St8He9u2fM5Vg1oaMNAA6gvqLjbepKMIx7KsERFwkFyqaiKkpZamZ2zHE0ucewLqsdru67EUdridvfiSbHV+Eee\/wClCOKVimvVVKm5szsEdRqXUPrkh1TJtPI\/AwfQDA8F+oRRMhiZFG0NYxoa1o5AcAs\/o20G3201MzcT1ODgjBa0cB8T5LRqdWV3ZaIz8FRcIY5ayzCIiqNwREQBERAEREAREQBZfVDnXS5UVihcR0jhLMW\/hb2+8+S0ssrIYnyyODWMaXOceQHErM6UgdX1lZfqj1nzvLIs\/hb+cDwKshleXIy8R1rUlvr4I0ZdT0FJlxbDBAzG\/cGtAWb03BJdbvU6hqW4a4llM08hw9w3eJXvVVRPW1VNYaJx6Sch0zm\/hZ29nEnuHWtFTU8VJSxU0LdmOJoa0dgTsx72c\/21bbR9fsdURFWawiIgCIiAIiIAiIgCIiApdX\/qvWf3P32qbZf+B0H\/TR\/uhfbrRm4WqppQcGRhA3c+XvWes+qKO3WplHcRLDU0w2Ngxklw5Y8McVYk3CyMk5Rp18UnZNejNY5wa0ucQABkk8lkMS6zued8dppH46jK7\/AG8ge1epJrtqxxghiNDbQ7Ej3e1J9e4bu0rT0dHBQ0zKemjDI2DgBjPae1Ox4nH\/AJDt8Hr9js1oa0NaAABgAcl9RFWbAiIgCIiAIiIDhW1kNBRy1U7tmOMZJ+A81gbLRyan1FNWVTQYmu6SUHeOprPIeQU7XN0dNPHaYQTsEPkx+JxHqj3+8LR6etDbNbGQkffP9eU5z62OHcFeupC+7PNn\/kV8Hwx18fz+y0REVB6QREQBERAEREAREQBERAZzWVYRQw22Fx6etkDAB+zn64HmrL9G09Yv\/wAqWLuLz9ST71S2osvuram54LqejaI4TxBO8Z\/ePiEvTpL9qGCzQl3otOQ+qc3h14PhuHaexXW0j5s8\/pH1qq1eUfzxzO2kaOSVk96rADUVjjsnGMN7O8\/ALSry1rWMDGjDWjAHUF6VcnidzXSpqnBRCIiiWhERAEREAREQBERAEREAXF9LTSv6SSnie8EHacwE5XZEONJ6nwAAYAwAvqIh0IiIAiIgCIiAKJc7hDa6CSsnyWsG5o4uJ4AKWsZrCofcrrSWSnIJ2g5\/Y48OeOG\/xU4RxOxRxFV06ba128TlpO2S3S5S3yt9YCQlnEZk457h+eC3C5U1PFSUsVNC3ZjiaGtHYF1ScsTuOHoqlC2+4REUC8IiIAiIgCIiAIiIAqTVlwdQWSQROxNUHomde\/jjwyrtZOq2bzrRsMn81tjNtxIwNrcd+d3HHkVOCzu9jPxMmoYY6vIktfDpLSrQ7HpDhnZzgvkPHy+AXfS1sNFbfSpwHVdWelkcRvAO8D595VbSNOqdQmtfk2+hdiEHHrP3e44z5Ba5Sm7K271KqEVOWJdlZL3CIiqNoREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFUW+wRUN2qbk6Z800+cF34cnJx7grdF1NohKEZNNrQIiLhMIiIAiIgCIiAIiIAiIgI1xrGW+3z1chAETCRnmeQ8TgLA0L6i4UwttJKXVNxlMtW\/GQxoO4E+ZPgOZW6u9BFcrZNTTOc1pGct45G8LnZ7HR2WAx07S57vbld7Tv8ATsVsJKMe8xV6M6tRfxsSaGigt1IylpmbMbB4k9Z7VIRFUbEklZBERDoREQBERAEREAREQBERAf\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL SAN MARCOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "JOCELYN BUGUEÑO",
    "correoContacto": "secretaria@sanmarcos.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "CONFIGURACIÓN",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "13:54",
    "ubicacionGPS": "LatLng(lat: -23.5310879, lng: -70.39455)",
    "horaLlegada": "12:42",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "15",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 13:53:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 13:53:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76464003

[16/06/2026 13:53:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76464003', 'KY2376', 1, 24456550, 1319798, NOW(), 
				'08:00', '12:42', '13:54', 15, '•Se instala perfil para imprimir oficio
', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781632409.png', '•Pendiente investigar cómo configurar usuario en mac
', null, 'COMPLETADO','LatLng(lat: -23.5310879, lng: -70.39455)' )
				
[16/06/2026 13:53:29] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200747

16/06/2026 13:53:29 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200747'                    
				WHERE idllamado = 13062			
				TO ENVIO: micorreo@miempresa.cl, secretaria@sanmarcos.cl, dsprint@gmail.com


16/06/2026 13:53:29 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13062			
				
16/06/2026 13:53:29 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13062
            GROUP BY l.idllamado;
            

16/06/2026 13:53:32 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:53:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:53:32 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 13:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

[16/06/2026 13:53:32] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:53:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:53:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13062
                

16/06/2026 13:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 13:54:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 13:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:51 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:54:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:51 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:54:51] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 13:54:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 13:54:55 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:54:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:55 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:54:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 13:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 13:54:55 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 13:54:55 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:54:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

[16/06/2026 13:54:55] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 13:54:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 13:54:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 13:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 13:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 13:54:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 13:55:00 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 13:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

[16/06/2026 13:55:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:55:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 13:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 13:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 13:55:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:55:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:00 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:55:00] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 13:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 13:55:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 13:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:03 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 13:55:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

[16/06/2026 13:55:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 13:55:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 13:55:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:03 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 13:55:03] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:55:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13005
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 12/06/2026
            [HoraLlamado] => 08:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76010685
            [ClienteRazonSocial] => SERVICIOS A LA MINERA E INDUSTRIALES TMETAL SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2775
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [11] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:55:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                
[16/06/2026 13:58:20] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 13:58:20 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 13:58:20] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 13:58:20 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => STUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 13:58:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 13:58:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 13:58:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 13:58:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 13:58:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 13:58:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 13:58:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 13:58:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 14:04:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 14:04:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:15 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 14:04:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:04:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:04:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:04:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:04:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:09:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:09:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:09:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:09:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:08 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:12:08] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 14:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:37 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:12:37] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:12:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:12:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:12:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:13:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:09 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:13:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:13:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:13:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:13:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:13:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:13:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:13:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:13:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:13:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:14:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:25] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:26 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:26] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:27 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:15:27] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:15:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:15:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:15:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:15:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:20:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:20:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:20:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:20:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:20:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:20:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:20:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:21:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:21:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:21:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:21:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:21:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:21:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:23:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:23:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:23:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:45 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:23:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:46 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:23:46] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:23:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:23:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:23:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:24:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:24:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:23] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:24:24 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:24:24] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:24:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:24:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 14:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:25:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:25:07] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:25:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:25:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:33 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:33] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:33 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:26:34] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:26:35] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:38 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:38] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:38 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:39 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:39 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:26:39] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:41] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:41 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:26:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13032
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2861
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:26:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                
=========================================
FECHA: 16/06/2026 14:27:54
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-.o9r55NSq09K40chZ_w9YEmTeZC2u5vPsryYvptKm2omIwODOLz
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2861",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "29285",
    "contadorColor": "59074",
    "contadorScanner": "0",
    "detalle": "Entrega insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13032",
    "observacion": "Entrega insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACsAKoDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCBwH\/xABBEAABAwMCAwUGBAQDBwUAAAABAAIDBAURBiESMUETUWFxgRQikaGx0RUyQvAjJDPBFlLhByViksLS8TdDcnSi\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMREAAgECBAIJBAIDAQAAAAAAAAECAxESITFRBEETIjJhcYGRodFCscHhFPAjUnLx\/9oADAMBAAIRAxEAPwD7MiIgAiIgAiKLcLjS2ulNTVycEYIA2ySe4BCVzjairslIssKzU91jNbQNhpKbhJjZJgukG+DyPPbu5Kz07ePxi3dpIA2oiPBK3GN+\/HincGlcjDiIzlhs1fTvLZERIXCpdQ39tohbDA3ta2baKMDOPE\/bqrC418NsoZauc+7GNhndx6AKk01bZKmV9+uLeKpqDmEHcMYRsR6beXmnil2mZq05NqnDV+y\/uh6tFyuFLdG2q8PY6aWISRvHf1H1+BWjWY1FtqexkbEyEZ9QtOifJhQbTlBu9mEREhpCIiACIiACIiACIiACIiAOVTUxUlNJUTu4Y428TjjOyytFBLq26C41kZZbqckQRO\/Wduffy3+C6XeZ2ob7FZack0kD+Kqe3PMZy3+3mfBaiKKOCFkMTAyNgDWtHIBU7C72Y2unnb6V7v4R6AAGAMALL0zG2\/XssMPuR1cPG5vQnny8wfn3rUrM3Almv7a44w6nLeW\/J\/3RDmu4fiMsL2aNMiKk1Pdn2+hbBSv\/AJ2pcGRAEZGeZ\/t5lIld2RapNU4uT5FbVPfqjULaKPJt1C\/imO2HPGfjnl5ZK1jWhrQ1oAAGAB0VbYLU20WuODA7Vw4pXDq49M+HJWaabTyWhKhBpYpdp6\/HkZjUPvaosjRuQ8kjwyPstOsxUkVuv6eIZLaODid4Egn\/AKmqfqO9iz0YEID6uY8MTOfrj97pmm7JE4TjDpKktL\/ZI5XrUYophQUEftVwfsIwMhnn9lDZpGa4ZnvdxmkneBlsJADfDlj4AKfp6xfhkJqKoiWum3kkO5bn9IKulxyw5ROxpOr1q3pt+zIy01x0lJ7TBPJV2zOJInnLmDkP\/I+C1FJVRVtLHUwO4o5W8TSvcsUc8L4ZWB8bwWuaeRCy1udLpi+\/hcznOoKsk073H8ru7PyPoeqO2u85b+PJf6v2fwaxERTNgREQAREQAVTqO7\/g9qfMzBmkPBED3nr6DPyVsspUgXvW0dO4F1Pbm8ThjYu2P1x54TwSbzM\/ETcYWjq8kWemrSLXbGmRp9qnAfO4889B6Z+OVcIiVu7uysIKEVFcgsxdT22t7VC0jLIy93luf7LTrMW\/NZruvqP0U0QjHnsP+5NDmyPEZ4Y7tfJpnODWlziAAMknosrZidQainvDwfZqX+HTA53Pfjy39Qp+ra91FZXxx5M1UeyYBz35\/Lb1U6z0Attqgpce+1uZD3uO5+a6so33OT\/yVlHlHN+PL5JyIuVVMKakmnOMRMc858BlTNLdlcy9qq4WXu+XmodiCEiIP55GcYH\/ACj4hdNO0s92rpNQXBgDne7TxluzR\/mHzHxKz1ippb3LHbsnsBKaiqdnHFyAGfp5nuX0hjGxxtjY0Na0ANA6BXqdXI83hU6qUnos\/Fv4PSIigemFnta0nb2P2ho\/iUsgeDjodj9QfRaFcaunbV0c1M\/8srCw+owmi7NMlWh0lNx3PFvq211vp6pp2ljDjvyONx8VJWc0VUOfaZKOTaSklcwg9Ad\/rn4LRokrSaCjPHTUgiIlKhERAHOaUQQSSu5RtLj6DKz+ioi63VFc8ky1c7nOJ6gePmSpuqqn2XTtW7O8jezHjxHB+WV2sFMaSw0cJGCIg4juJ3P1TrKBmfW4hLZX9SxRESGk8SyNhifK84axpc4+AWc0VE+SkrLjKMPrJyfMDr8XFd9ZVjqaxmGPPaVTxEABkkcz9MeqsbfTMtFmihcfdp4svOOvNx+OVTSHiZX1q62ivd\/opJx+M63jgOTBbWcZ22Ltj9SP+ValZnRkZnhrbpK3+LVznc7nA3+pPwWmRPW2x3hleLm\/qd\/j2CqdT1TKXT1W52cyM7NuOpdsrZYfXteZKmntzMkMHaPHe47D5Z+K5TjeSDiqnR0ZPyLjRtvZR2Rk+xkqjxuPhyA\/feVoFGt1N7HbqamxgxRNafMDdSVyTu2ylGGCmo7BERKVCIiAMxp8mDVN7piccbxKB05k\/wDUFp1mKFzWf7QLpnDW+zBxOcAbRr1Xaokqag0Fhg9qqDt236GePj5nbzVZRcnkYaVWNODUt2l6l1cLpRWuISVk7YgeQ5k+QG6kse2RjXsOWuAIPeFnrdpbNQK+8z+21Z34Tuxv3+ngtEAAMAYASSSWhopyqSu5Ky5b+Z+oiJSxmdauM1PQUDSQampAwOZxt9XBaRrWsYGNGGtGAO4LNXk9rrO0QDctBeQenP7LTp5dlIzUs6s5eC9F+wiKNcaxlvt89XIQBEwnfqeg9TgJFmaG0ldmfuH++dYUtG33oLeO0lPMcWxx8gPirTU9QabTtZICQSwMGDv7xA\/uoWjqB0VvfcZzx1Fc4vc488ZP1OT6juXnXchZYGtAz2k7Wnw2J\/srfWo7GC7XDzqvWWfwWWnoPZtP0UeMZiDiPF3vf3VkvEUYiiZGOTGho9F7Um7u5uhHDFR2C+aPcbrrTPNrqsDc4PCHY+gX0WqlMFJNMDgxxudnyGVh9C0Rmu01Y73m07MB3\/E7b6ZVaeScjBxic6lOnuzfIiKJ6IRFzmnhpojLPKyKNvNzzgBAN2OirLtqCgs7CJ5eKbGWws3cfPu9VUVGoa+9Suo9PQO4Rs+qeMADwzy+vgp9n0xS253tFQfa6wniMsm\/CfDP15qmFR7RldaVR2o+vLy3MxSUk+ptT1XtfaUXFGHSsZkHhHCA3f0O\/dyW4oLdSW2DsaOFsTeZxzcfE9VRaeHtGpr1VD8rZOyB553P\/atOu1JO9hOEpxUXN5tt5+YREUjaEREAZiu\/9RLb\/wDWP0kWnWYuHu\/7QbY47A05APjiT7rTqk+XgZuH1n\/1+EFmNVyvr6uisVPgvnkD5cEZa0fTbJ9FpXOaxhe44a0ZJ7gs1pdpudxrr7Kx47R\/ZwB5zwt64+XzRDLrbBxHWtSX1fbmaSKJkMTIo2hrGNDWtHQDkFm9c72+jadwakZHfsVp1l9eEstlK\/GQ2oB+RRT7aOcXlQkaOSpgimjhfK1skueBhO7vILqsPY6aq1JfDeK5mKeI5jG+OIcgPLmf9VuFyccLsPQquqnK1lyIF8qGU1jrJX8hC4c+pGB8yqvQ0DIrD2o3dNK4u9NgPl81F1PUPu10pLHSuy0ntZiPAE49Bk+oUnQz+KxPZxAmOdwwOmwKe1qZnU1Pilsk158zSIvwkAZJwAszcNR1FfUm26fZ28hHv1A\/KzxH3U4xctDVUqxpq7LC86ipbSewANRVu\/JAzc5PLPd9VVQWO43+ZtXfpHRQg5jpGHGPPu+vkrOy6dgtRM8jzU1j93Tv3I7wPvzVymxKPZ9SKpSq51dNvnc5wU8NLC2GCNscbRgNaMAL8qZm01LLO78sTC879AMrqs9rGskitjKGBvFNXPEbR1xtnHyHqlisTsWqzVOm5bHnRED22eSqkOX1Mzn57wNvrlaNR6CkbQ0EFK3lEwN55yeqkIk7ybCjDBTUQiIlKhERAGZ1Z\/Ar7RXAf0qjDj0wSPsVplT6ot\/4jYp2NaDLEO0j8xz+WV20\/cTdLNBUvIMmOGT\/AOQ2+fP1TvOCZmh1a8k+dn+GRtW1hprHJFHvLVEQsaM5OeeAOe31U2z0DbZaqelDcOYwF\/i47n5qhc06h1lwu96jtnjkOf8A6kfBqvrtdqWz0hnqXbnZjB+Z57h911ppKKEhJOcqstFkvz7k1zg1pc4gADJJ6L5lqO9vvdcTEHimhGI29\/e4hd7hdrxqOubb2RmEPPu07Tjbnlx67f8AhbCjsMNFYJLcwNL5YnNkfj8ziOf2VElTzepnqSlxl4wyiue72KK3f4kuFthioG09BRhnCx4O5Hfnc5593VdqzTLIKSSqvF8q5ooxl2D6YGSfJTdE1Jn0+2MnJgkcz05\/3VPf7xFda4wF5bbaN38YtO8zugG+\/I49SjrYmkK1TVBTlm2srvL\/AMR4sGk4bpQPrKl00HaPPYBhGwHU5G+\/lyUE3C4aUuFZb6WZrmcX6256ZB88EKbS6kukQdHDG0vqWtZR0rW57FvQ\/Dv58+XPlcbHJZ3UddccVYml\/msnkTvjPlnfvCpnfrGZqOBOimmtX\/f7YkW9981VTCmlm7Kja49tMBgyZJOPHnjHLktfbrZSWqmEFJEGN\/UeZce8nqs9ZJG2nVNXa+PFNUDtacfp33wPQkei1ihUedloelwkFhxSzksn5BERSNp+OcGtLnEAAZJPRZa3H\/EGqZriTxUlD\/Dg32J7+fmfgv29XGe91brDajtn+Zn6NAO4+\/fyV\/bqCG2UMVJAPdjG5xu49SVTsrvZkb6aokuzH3f6JSIimawiIgAiIgD8IBGCMgrD+3\/4RrrrRNBLJWiSl6gOPL6\/\/lblfO9X3NtXfWtp8H2QBrXtGeJ+cn4cvMHvVqSu7cjBx0sEFNOzWhcUdXBpXT8b5wZa6rPadnxe84nlk77eKq641FIwXa9HtbhKf5WlcPdiH+Zw7h0Hx64lWuejjpJdTXWcVVSX8DIwP6bujQO\/6BQLLT1GotTOqK3JETu0kB\/Tg7N5ghUStdsxyk5KMI89Ft3vvNNpa0eyUn4hU5dW1g45HO5gE5x67E+Pkr9Fl9UaoFva6hoXg1RGHvH\/ALX+v0ULOcj026fDUs9F7mduVdV2SsudspZQ2KaXOWndo7hjkcEA+SqqYPnqY44ou1dyjixnJ\/e\/oudRFLFIO2P8R44iCckZ7\/Hr6re6OscdHRMuMha+eoblpG\/A09PPv+C1yahG54dKnPiKuHRL2RL0\/p9tsaaqqd21dLu+Q78Oeg+6nXigFztVRSbcUjfdJ6OG4+YU1Fjcm3c9+NKEYYEsj51JcD7NbamUhlXbansJG594s5j4YIX0VUlw0rb7jcBWPMkTz+cRnHH4+B\/firtNOSdrEeGpTpuWLuCzl\/vM8k\/4LaR2lZMC2R7T\/SHXfofHp5rtqO9uo4xQUOZLhUe6xrdywHr593xXewWSOz0nvHtKqX3ppDuSe4HuQkorEztSTqS6OHm\/x4nux2WCy0XZR+9K\/Blk\/wAx+w6KzREjbbuzRCEYRUY6BERcGCIiACIuFZVw0FJJVVD+GKMZcUHG0ldlTqq9\/hFv4IXYqpwWx4O7R1coWldOR0cDbpXAGd7eNgfyjHefH6KLYKGXUN2kvte1vZNfiOLGQSBt6D6+ql6irZrpXR6eoHDik3nkB2aBvwn4Z+AV7W6i8zzcWN9PNZaRX5M3Mxk9XUXWloXvtMU4zGTsTjqPM+gICvNKXK20FtmqayuibU1EpfID+bGcDbrvk+q96rp47Zpylt9LiKF8zWvP+bYnJ9QD6KFUilu1aKLT9uiL4sB9Y4YDcDGdvrjfoE91KPcZ1F0at1a+3e9rbHS9a0kqh7JaGyNLzw9tj3neDR+yoJtrNPUba+v4Ja+X+hTO3DP+N3fju7\/loqW1W7SNukr5j287B\/UI3JOwa0dP30VTZbdLqi6S3a5tJp2nDGZ2cRyaPADn3k+aE4pZafc7OFSUljd5vRcl3nXS2mRPC64XJnGJ2ERsdzwf1n05eeVL07M+z3So0\/VO93JkpnuP5h3eo39CtQAAMAYAVPf7Ibm2OppnmKtpt4Xg4z1wfVSx4m1I2fxuhinT1XvuXKKgtGp4Kg+x3IikrozwvbIOFrj4H+3wVxVVtLQxGWqnZEwdXH95SOLTsaoVYTjiTO6or3qNlE72GgHtNwkPC1jdww+P2UKpv1bfJnUNgje1mQJKxw4Q0eHd9e4K0s2n6W0M48dtVOzxzuG5zzx3JsKjnL0IOpKr1aWm\/wAHKw2F1A59dXSdvcJvzvJzwjuH39FdoiRtt3Zop04044YhERcHCIiACIiACxt1qn6nvbLLSuLKWFxdNIN+LHXy6DxK76xvFdTMdRU0MkUbmAyVHeCcYb+8\/VetMUkVhsMtzrgY3SjidkbtZyaMd5J+YVoxwrFz5Hn1qnS1OhWizb7ife7nDp+1MhpGNEzgGU0QGfX0+ZTTVnNsojNP71ZU+\/K5w3Gd+H99VAsNLPebo7UFc1zWgltJGeQbvv6Z+OStSlk8Kw+pWkukl0r05L8+f2ONVSU9bCYamISRk5LTyKUtJT0UAhpomxRj9LR+8rsqvUFLcK23imt8jYzK8NlcdsM67\/vmkWeVy87RTmldmZmM2r9SGFj\/APd9K7fB2Lc7nzdvjwW2hhjp4WQwsDI2DDWtGwCjWm109ooW0sAzjd7zze7qVNTTlfJaEqFFwTlPtPX4CIiQ0lfcrHb7tg1UAMg5SN2cPXr5FV1PomzwHLmzTeEj\/LuA7vmtCiZTklZMjKhSk8Uoq5zhghpohFBEyKNvJrBgBdERKWSsEREAEREAEREAEREAZTVr45btaqSeRjafj7WYOIA4cjc58MrmBPrGtGOKC0UzsADYyn9\/BXl4s1JeOwZVdphrjjgdjG3+im0tLDR0zKenYI4oxhrQq4koq2ph6FzqyxPq5efd4HSONkUbY42hrGANa0DYAcgvSIpG4IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIA\/\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVÁN DÍAZ ALARCÓN",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29033\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "14:28",
    "ubicacionGPS": "LatLng(lat: -22.0884015, lng: -70.1945398)",
    "horaLlegada": "14:25",
    "horaDespacho": "12:48",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 14:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 14:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 14:27:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2861', 2, 19969062, 29285, NOW(), 
				'12:48', '14:25', '14:28', 10, 'Entrega insumos', -1, 
				'', '','1','59074',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781634474.png', 'Entrega insumos', null, 'COMPLETADO','LatLng(lat: -22.0884015, lng: -70.1945398)' )
				
[16/06/2026 14:27:54] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200748
[16/06/2026 14:27:54] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200748', 'EPS-I302', 2)
				
[16/06/2026 14:27:54] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29033 and
				    IDproducto = 'EPS-I302'
				

16/06/2026 14:27:54 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
16/06/2026 14:27:54 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200748'                    
				WHERE idllamado = 13032			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, dsprint@gmail.com


16/06/2026 14:27:54 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13032			
				
16/06/2026 14:27:54 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 14:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:58 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 14:27:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:58 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

[16/06/2026 14:27:58] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:58 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:27:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:27:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:27:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:27:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13032
            GROUP BY l.idllamado;
            

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13032
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:28:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13031
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:28
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2863
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                
=========================================
FECHA: 16/06/2026 14:28:57
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-ghp9ZETon70IfIgN+XvTAFYCsby54otoz2woGfRV674WFoTG1TD
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP2863",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "14411",
    "contadorColor": "33978",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13031",
    "observacion": "Entrega de insumos",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AJcDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABEEAABAwMBBAcDCQUGBwAAAAABAgMEAAURBhIhMUETFFFhcYGRIqGxBxUjJDJCwdHhM1JywvAWYnOSouI0Njd0gtLx\/8QAGQEAAwEBAQAAAAAAAAAAAAAAAAIDBAEF\/8QAMhEAAgECBAMGBAYDAAAAAAAAAQIAAxESITFBBFFxImGBobHwE0LB0RQjMmKR4TNScv\/aAAwDAQACEQMRAD8A\/ZqUpRCKUr4pQSkqUQABkk8qITnXq8s2aKlxaFOOuHZaaSN61Vwxeb9bXY0u8MtphyFbKkoGC1nhns8O7fvr1ZgdQ6hfvDoJixTsRknOM9vpvPeRXcvsL5wssqNj2lIJR\/EN494quSnCZhJqVVNRTYDTvtz6zfBBGQcg19ri6Smmbp9gqUVLZJaUSezh7iK7VTIsbTXTcOgYbxSlK5HisMmSzDYU++vZQkZPMnwHOs1Sctbup7+be2cW2GQXyFftD5eg8Ce6mVbyNapgGWZOk7Ns1DbrsstxnSHBnCFjBIGN49a6dS+rLeiIwxeIaQy9DUkHY9kKTnAG7x9CaoochMuExJTwdbSseYzXWAtcRaTtiKPqPMTNXwkAZJwBX2pO6z5N\/unzLa3CiOg\/WZCTy5jw+J7q4q3j1aopjmToJuS9VtiUqJbIjtweTnaLY9kefP4Vns2oU3KQ5DkRlxJjYyppfPw58Metb1utkS1RgxEaCE\/ePEqPaTzrgatbNvnW+9spAU07sOkZBUOWcd20POnGFjhAmdzWpj4jHqO6VVK8oWlxtLiFBSVAFJHMUqU2z1SlKIRU\/q2c43CbtsbJkzldGAN5COfD08M1QVKWlv561ZMubh2mYZ6JgEc94z8T4qFOg3O0zcQSQKa6tl4bygtkBu229mI2BhCd57TzNbdKUhN5oUBRYSXsJVatRT7OW0oZcPTMAHl2DO87vhVRUxcPodf25zglxgpPecL\/ADFU9UfYzPw2QZORP3ilKVOaZzr9cxabS9JyOkxsNA81nh6cfKtfStvMGytqcz00g9M4VDfv4Z8q512xe9VxrV9qPEHSvgjcTxxw7CB51VVQ5LbnMqfmVS+wyH1+01bnE69bJEXAJdbKRnt5e+uZo2SZOnWkqVtFlSm\/TePcRXcUQlJUdwAyamNDKSzp6Q64dlCX1qJ7AEpyfdQP0GdfKup5g\/SbuqLwbZbujjq+tyDsNBP2h2qx7vE1n0\/aEWa2IY4ur9t0\/wB7HDwFciyoXfdQPXt3PVmCW4qVA+GfifE91VdDdkYYtH8xzVOmg6c\/GK599hifZJUfGVFsqT\/EN494roV8IBGCMg0gNjeaWUMpU7zj6TlqmaejlZJU1lsknPDh7sUrR0QS1EnQlH2mJJz6Y\/lNKZxZjI8MxaipMp6UpSTRNG8zOoWeVJ5obOzvxvO4e8itPSUMRNPR9xCnsuqz38PcBWrrd4i0sxEH25TyUgZxkDf8cVQMMpjx22UfZbQEjdjcBin0TrMw7XEH9o9ZkpSlJNMmdT4TfrCrB2jIxnPLaR+dU1TF++k1bZW\/3SVbuPH9Kp6dv0iZqP8AkqHvHoIrytaW0KWs4SkEk9gr1XG1XMEPT0j954dEnfjjx92aUC5tLVHCIWO00tIIMpdwu7gO1KeITnkkb+Hnjyqmrn2KH1CyRY+MKDYUr+I7z7zXQrrm7GJQQpTAOs17g6lm3SXVK2UoaUSezdUHEkOvaei2OIMvznVKWU43IB3\/AA9Aao9aTOrWJTKThclQQPAbz8MedaGhbdlDt0e9pR+iazyAxk\/AeR7aqmSYjMdcmpxApryz6HX33yogQmrfBZiM\/YaTs57TzPmcmtilKhPRAAFhFKUonZMWUiLrO7xM46UB34H+elN7PyiDG\/p42\/u3f7aU76g90zcNkGXkTKelKUk0yYvY6zrKzxePRgu4O4DeTn\/R7qp6mEHpvlDWBv6CNv7sgf8At76p6d9AJmoZl27\/AEyilKUk0yXfPXPlCjoAymHHyrzB9PtCqipfTX12\/wB3uecgr6JB4kjP5JTVRVH1Ambhs1L8yftFS+pldfvlrtGMoUvpnBxyN\/LhwCqqKmLV9e1tcpecpioDKd2MHh\/KquJlc8ocT2gqcz5aynpStK73Ju1W12WveUjCE4+0rkKUC+UuzBQSdJF6zlLuF+bgsjbLIDaQDnK1Y\/QeVXFuhot9vYiNgANIA3czzPmcmojSEJ2ZqFyXJypTALiyea1cM9\/E+VfoFVqm1lG0w8GC5asdz5RSlKjPQilKUQkxOOPlDt3fFPwcpScCflDt2BwinPo5SnfbpM1DV\/8Ar6CU9KUpJpkxB\/6iXL\/th8G6p6mF4jfKGgqO6VGwPED\/AG1T077dJm4f5h+4xWndpggWqTKPFts43438B7yK3KmdaOLdYhWxteFzHwCO0Dd8SPSuILsBHrvgplhNnR0TqmnmSdyn1F0+e4e4Cu7WNlpEdhtlsYQ2kJSO4DFZK4xubxqSYEC8p5cWlptTivsoBJ8BU5ohCl2+VMWMKkyCfIfqTXXvay3Y5yhxDC\/hUzaNSRbXYosKMw5LmqCiWm08ySd557uzNUUEqbTPWqKtZSxsAD9paVFX6am53xbBwqFbEFx3dnbWPu+ZwnHiaxXl6+9TEm5TTB6VWGYrGdpR78HcPM+FaN006m326ApbjhnzFgKQojZTnljGcgkU6IAbkzLxNdqgKquQzN\/Kd7SEiDEta3pE6MmRKdK1hTqQocgCOXM+dUrclh79k825\/CoGuQnR1jDYSqIVKxvV0q8n31hc0Raj7TC5DCx9lSHOB86RijG95ppivTQLhBt3\/wBSipUl169aXWlucnr1uBCRIAwpA4f0Dx7aqmnW32UPNLC21gKSocCKRltL06oe4tYjae6UpSy0mD9Y+UQfe6tG\/wAuR\/v99K+WM9a1leJWCejAaz2YIH8lKd9QJm4bNWbmTKilKUk0yX1gBFlWu5hIyw+EqPaOIHuPrVRXOv1u+dLNIjAZc2dpv+Ibx68POtbS10NztCA4fp4\/0bmeJxwPmPfmqHNB3TKvYrkH5s\/41naqWKvnXXiAnezbmztHG4q8fEj\/ACmu9dJottskTCAeiQSATjJ4AeuK5ej4Ko1o606nD8xXSqJ4kfd\/E+dC5AmFXt1Fp+J8NPOd+sbzzcdlbzywhtAypSjuArxLmR4EZciS6G20DeT8B2mpZlE7WUkuvlca0tr9lA3F3Hx8eXKuKt8zpHq1sBwqLsdvv3TVvV5n32JJMFss21gZccVuLnd+g867unGIVu06zMU22yVNbbrpGCfE161Gw1G0pKZYbS22hACUpGAPaFT0QydTxoVqYCmoURCOsO\/vHHAe\/HrVcmXLITEb0q127TEZdb7chN+zMr1HeHL3LR9VZOzGaUc4Ixv\/AB8T3VluX1\/XFvig5TER0qs8jx4eSapGGGozCGGUBDbY2UpHIVN2EdZ1deZR3ls9FnPDfjH+ilDXueUq1LCFQ5km58M5UUpSozfMUmM1MjOR30BbbidlSTU5p1b9pvEjT8he00kF2MpXMdg9SfEGqipjV8dcVcS+R9zsRYSsZxtJzu95I86omfZ5zLxAw2qjUem8p6xyH240dx91QShtJUok4rVm3eFAgJmSHdltYBQBvUvPYOdRV+m3K6wDcJBMaApYTHY5untPkDv8MdtCIWMK\/ErSGWZna0JlcGZIUDtuv5J2cA7uR8SaV2rHC+brNGjEYUlGV7vvHefeaUrm7Ex+HQpSVTN+lKUsvFSU8O6XvpuLQJt81WH0gfYV2\/EjzFVtad2Ziv2uQibjoNglRJAx2Ed9OhsZCumJbjIjMTg6mfTdptussd0kSFB1xSN\/sY3e7J9KopD7FugqedOwywjfzwByqM0IYvX5Trzn06Gh0e3yRzPlhPlW4+45q289VZWsWmMcuLTu6RX9e7fVGXPDsJkpViVNT5myA6e7mfYsSRq6Ym4Tct2xsnoWM714458+J8qrEIQ2gIbSEJSMBKRgCvjTTbDKGWkBDaAEpSOAFcrUV7+aIiUMDpJj52WWwM+eP6yamSXNhNKqtBC7nPc+\/KcjWV6Km1WmGOlUU7UkpGdhI34\/E9ldjSzMdnT0Ux04DidtZ7V8D8MeVa1q06Y1olpkq6SZPbV0y1b8Eg7vU+tfNEPdJYA0eLDqkY7Of407WwWG0hTD\/HD1PmBt3ShqY0b9K5dZXEuyTv7eJ\/GqVxRQ2pQ4gE1OaEGLE4rmqQon0TSD9Jl6mddB1lLSleVKShBWtQSlIySTgAUk0z1UrrO8whbXbalYckLKchO\/o8EHf6cO+vsy+Tb1KNusAKUg4cmHckDu7PHj2VrXayw7Dpd8gB2W8UoL6hvJKgTjsGAasigEXnn16xqU2FPSxufoJl0\/pzrjUe53V4yTsJ6FonKUpAGM\/l8a9XgfOuroNsSPoYg6V0BWByPwAHn510xMRZNKMvuAbTMZACc\/aXgYHrWvpSC4Izl1lZMqeouE9iDw3e\/wxRiObHwnBTWy0l3sT76ygpSlRnoxSlKIRUzqqU5LfjWGIr6aUoFwj7qe\/B7icdgqhkyG4kZ2S8rZbaSVKPcKho092I1K1A+jM6eotw21AnduyR3AYA8O+q0xneY+LqADBz16f3pGoIjLl0Rb7LHcVJjsbDpQrikJ4d5wd\/pxqi0lJiO2VtmMgtqY9l1BOTtHeT5\/pyr1pmzfNdvC3hmW\/wC26oj2hn7vl8a1rnp5tmQ7c4VxXbVEEvFO5JG\/J9aYsD2ZGnSemfjAa6jkPes373fI9ljBSx0j69zbIO9X5CtCwWaQuQq8XcFcxw\/RoUP2Q8OR+FcrRkMzLjJnvo6yhCsIkPb1FXrxwQeeKuKVux2RK0b17VX02H1ipfTGIl8vFu3hKXekQnsGT+BTVRUvMPzXrmPKXhLM9roion7wwPiEetcTMESlfssj8j65Shm\/8DI\/wlfCuLon\/l1H+Kuu+4gONqQeCgRUVp6\/xbLp1xMglTyX1BDKTvVuHoONCglSBFquqVlZjYWP0ldOnxrbGVIlOhtCfUnsA51Mhq56wcCntuFagchI+07v49\/wHfWW32WVfJKbpfc7PFmJvASO8fhz51UpSEpCUgAAYAHKi4TTWcwtXzbJeW56\/aYIUKNb4yY8VoNtp5Dme09pqf1ketPWu2g56xIyR2cBnt+8aqKgr5dynUcmWk56kjoGQTu2zkE7uGPaPkPLtMEtec4tlSlh2PpOjPWdRanRbEkmFBO2\/wBilDl6nZ9aq0pCUhKQAAMADlXJ03aja7WgO56y\/wDSPEk52jy8q69K52G0rQQgF21PsCKUpSTRFKVz73dmrNblyV4U5wbbJxtq\/rfXQLmwiswRSzaCcTU83r9wasjTuwyB0ktYO5KRv3+AGfSsdihpvN2VdFNBEGIejhtDIAIxgj4+J7q5zkWSzEagrcKrneVpW+pR3obzuHmfhiriDDat8FqIyMIaTgd55nzO+rMQq2E86kprVSze+Q8NT3zOpQSkqUQABkk8qgdSXpy+3Bq1wMlkL2eH7RfDPgP1rranu63nRZoLoCnAetuAZDSOefLJP61paHtSFyHroUno0EtsbXHvPpu8zQgCjGYcRUNaoKCabmVVpt6LXbGYaMEoT7Sh95R4n1r1cLjFtkUyJbgQgcBzUewDtr1Nmx7fFXJkuBDaBvPb3Dvr86uT83UN1bJSrL52YzJONhPaf65eFKiYzcy1euKChEGewljp7ULl8dkjqnRNNEbK9rOc8j3868ayhdZsin0AdJFUHEnGTjgfz8q6NntjdptzUVB2lJGVq\/eVz8q4t3vr9xeXZ7I31hxYKXXhvSgHjg8PP0oGb3XSD3HD4apuT6z6\/q9BtsZMJHWbjIQPokgkIVzz553VoaNtrRuk5c1oKlxVgAHGEkk5IHiONZdHR2INznQZDSevMq9lw80cN3ZyPfmth9XzFrJL5GzEuQ2VHkF9vrjyUac2F1WZlxPgrVDobW5besqaUpWeetNG83Ru0W1yU5gqHstpP3lchUXpC1KulzVNkjaZYUVHIGFOHlj3+lZr7Id1NqFq1w1fRMlSdo8Mj7Su8bt361Z2+CzbYLURhICW0gE4xtHmT3mr3wJbczzbfia9\/lXzM2aUpUJ6UUpSiE+KUEpKlEAAZJPKpOMP7U6iMtQJt8A4a7FrznPgcZ8hWfUs96ZKbsEA5dfIEhQGejScfhvPd413bfBZtsFqIwkBLaQCcY2jzJ7zVB2RfczI351TD8q6955eE4Fp2bnrG4TykKRFHRNqHAHhn3K9a3tQ302ptuPGR0s2RuaQBnHLJ8+Aqfs98YsUWbHU2XZq5Kghsb8ngMnPDPnXXtVpdjLdvt6VtzNkr2cjDKQOXLOPSnYAG50melULJhTU3JPL+5wVW6Q0+mwsO7U6WQ5MfznZGCdgnn2ntJFXUWMxb4aI7I2GWU4GTwHaTXB0kyZTs69OpG3KdIbPDCeJHrgf+Prqa2vewj5pjKytzHT44gbiB5\/1xoa7thhSKUKRrHfTpt\/OpnKv97F6lYAJiML2Wmh9p5R5+H599Umm7Mq3MruNxKetOjJKgB0KezPLd5DGK1NN6eatMY3W6BKHUjaSF8Gh2nv+FY3Hp+sZXQx9uNaW1Ycczgu\/n4cBxPKmYgjCuknTVlb4tQXc6D37EyS58zVEtUC1LU1AQcPycY2u4flz57qoLXa4tpiCPFRgcVKPFZ7TWSFCj2+KiNGbCG0DcO3vPfWxUWa+Q0m+lSscb5t6dwktqeM7b7hG1BEQSWSEvgc08M+hx6Vt3yO3qLTwdgL6RSSHWSniSOI8d5867brTbzSmnUBaFjCkqGQRUmuDcNKTVyYCFSbY4QXGc5KO\/wAu317aZTe3MSNVMBbK6tr3d87Gnry3dYKUqViUyAl5Chg57cVj1PexabfsNHMqQClsA70\/3vL41NXG4sXG5NzbDGmNXAEFRDY2VA8yAT2891dmzaZkdf8AnS9O9PJBCkJznZI4Enu7OFMVUHEf4k1rVKi\/DTM\/7bW59Zt6XsYtFvC3B9ZfAU5kb0f3fKu5SlRJJNzN9OmtNQq6CKUpXI8UpSiExCMwJJlBlAfKdguY9op7M1lpSicAAmmm1QETlTkxWxIV9\/Z3537\/AB38a5espa2bMIzQBcluBoDu4n8B51QVwdT22ZMESVBQl12I5thtR3K4cue8DnToe0LzPXW1Jgg15ec9TLhD0tZWmRsl1KMNMpP2lcz4Z51yLJaUREnUF+eAUTtoDm8g8Qo9\/YB\/85z9nfF8gt3SQFyJBLsjJBCEDf4cEqyeH49tlr+1dzeclbfzdEXsst5wHFZwTu48Pf41WwUa9ZiDGo+a6ZKPqekwp63rKYSrbj2hlW4cC6R\/Xl41VsMNRmUMsNpbbQMJSkYAr6002y0lppAQhAwlKRgAV7qLNfIaT0KVLBmTdjqfe0UpSllopSlEIpSlEIpSlEIpSlEIpSlEIpSlEIpSlEJzLlYYV1fbfkBYW2NnKDjKew928+tbkOGxAiojRmw20gbgKUpiTYSKKoqMbZzPSlKWWilKUQilKUQilKUQilKUQilKUQilKUQn\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I302\",\"id_control\":\"29032\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "14:29",
    "ubicacionGPS": "LatLng(lat: -22.0886688, lng: -70.1945776)",
    "horaLlegada": "14:25",
    "horaDespacho": "14:28",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 14:28:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 14:28:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 14:28:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP2863', 2, 19969062, 14411, NOW(), 
				'14:28', '14:25', '14:29', 10, 'Entrega de insumos', -1, 
				'', '','1','33978',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781634537.png', 'Entrega de insumos', null, 'COMPLETADO','LatLng(lat: -22.0886688, lng: -70.1945776)' )
				
[16/06/2026 14:28:57] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200749
[16/06/2026 14:28:57] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200749', 'EPS-I302', 2)
				
[16/06/2026 14:28:57] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29032 and
				    IDproducto = 'EPS-I302'
				

16/06/2026 14:28:57 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'EPS-I302';
                
16/06/2026 14:28:57 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200749'                    
				WHERE idllamado = 13031			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, dsprint@gmail.com


16/06/2026 14:28:57 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13031			
				
16/06/2026 14:28:57 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:28:59 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:28:59] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:28:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:00 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

[16/06/2026 14:29:00] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:29:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:01] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13031
            GROUP BY l.idllamado;
            

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13031
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:02 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:02] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:09 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:29:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:09 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:09] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:10 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:29:10] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:29:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:11] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:12] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:13] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:13 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:21 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:21] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:29:22 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:29:22] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:29:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:29:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:14 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:14] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:15 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:15] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:15 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:16 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:16] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:17 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:17] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:17 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:18 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:18] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:18 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:19 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:19] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:19 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:34:20] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:34:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13033
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:29
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:34:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                
=========================================
FECHA: 16/06/2026 14:35:25
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-I7t4TGJm1LT7oHRXP2u6Yu+ZYoNXPTqKhT_8FhdVNE.RZYGIHNQ
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "577226",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Entrega de insumos\n2 toner kyocera 3655",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13033",
    "observacion": "Entrega de insumos\n2 iton 2174",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACJANoDASIAAhEBAxEB\/8QAGwABAQACAwEAAAAAAAAAAAAAAAYDBQECBAf\/xABDEAABAwMCAwMIBgcHBQAAAAABAAIDBAURBiESMUETUWEWInGBkaGxwRQVIzLR0gczQlaS4fA0NVNidKKyQ1JUgsL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAxEQACAQICBgoCAgMAAAAAAAAAAQIDERJRExQhMTJBBFJhcYGRobHB0SIzNFNC4fD\/2gAMAwEAAhEDEQA\/APsyIiALT0F3qKnUNfbZWxBlOA5haDxEbc9\/FbhS1I9kf6Qbm+RwY1tKCXOOANo1eKvc560nFwtn8MqUU7Va0oI5DFSRTVkoOAIx5p36Hn7li8q7jHtNp2rbkDGOLu3\/AGU0csiH0qinv+SnRTkGsqcTNir6KooeP7rpBt08B3qhjkZLG2SN7XscMtc05BHgVDi1vNadWFThZ2REVTQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAoSShZf8AW9dCyodHCGjtSw7vDQ1pb7fgq281v1faKmqBw5kZ4Ns+cdh71IaIjkZqCftMkmlLi7v4iwg+sFbU01FyPP6U1KpCk87ltSUVNQQCClhZFGOjRz9J6+tZ0RYnekkrIwVdHT19M+nqYhJG8bg\/EdxUvJBX6PkM8MpqLUX7xHHE0nx6ern3KvXkurWvtFY1wyDA\/I\/9SrxlbZyMK1JSWJbJLmZ4Zo6iFk0Tg5kjQ5pHUFZFpNIF501Tcedi4NyMbcRWxuVey2UElZJG+RseMtYMnnhQ4\/lYvConTU3lc9SKcGubSTjs6oO5cPZjOfasY1bWVJ4rfYaqeLGRI7Iz7AR71OjlkZ61R5Sv3bSnRTHlHfP3cm9rvwQ3\/UMgxFp9zH5\/bJx8B8U0bGtU+3yf0U6KY+k6ynO1DSQA8iSD\/wDRT6t1ZU7T3aCBvL7Ju\/uA+KYM2hrDe6D8re5Topk6WuUrgZtR1RG2WtDh7PO+S3ltovq+gjpe2fN2efPfzOST81DSW5l4TnJ\/lGy70epEWkuGp4KGsfTNpZ6gxDMroxs3lj5+xQk3uLzqRgryZu0Wi8sbMB580jDvsYz346eheyk1Baa3Ihrosg4LXngPqzjPqUuElyKqvSk7KS8zYouGuDmhzSCCMgjquVU1CIiAIiIAiIgJ\/Wz+DTr2\/wDfI1vz+S8WmGdnqS4sO5jiYzPoAHyXo1y4\/VVPGHcPHUt39R\/r1LrYm8Gr7w0DAAGB4Ldfr\/7sPNqbelLw9mU6Lw3S8Ulog7SpeS47MjYMuce73dVoRTah1G3iqZfqyjdyjaDxuHiOftx6Fmo32vcdc6yi8MVd5L5yN1cL\/bLYS2pqW9oBns2ec72Dl61onuuer5CyMPobWObnDzpfx+HpW4t2l7VbS17KftZW\/wDUlPEfZyHsW3U4ox4Sjp1Kv7HZZL5ZhpKWGipY6aBgZHGMNAWZEWZ0pJKyMfYxf4TP4QsiIhNgtfc7vFbJaSORjnGpl7MY6ePtI962CmNXf26zf6n5tVoJOVmY15uFNyXZ7lOiIqmwREQBTOm8TagvlQRymEbSDsQC78AqZTGjDk3M99Ufmrx4Wc1X9tNd\/sUEtDSTP45aWGR3e+MErwVWmLPVP43UbY3d8Xmevb0LbIqqTW42lThLiVyaOhrex3HT1VVC\/GMh4I+Gfeu9PpWWlmZJFearzXtcQ4nDgDy2PXl61RIraSWZlqtFO6iERFQ6AiIgCIiAmdYktda+JxbH9KHGR05fLKW8cH6QLm0AgOp2u9zPxXfXEPaWESDYwzNdkc+RHxIXnppOPXcc4yBU0YeMjGQWjl7Pct48HmebU2V\/GPs0dtS8VuvVFd5YRUUzPMe0tB4M9c+8bdPFU0Usc0TZYnh7HjLXNOQQulVTQ1lNJTTs44pBhwUnDNV6NrhTVJfPapnfZyYyYz\/XMdeY6hUX5q3NG0noJuT4X6P6LJF0iljmibLE8PY8Za5pyCF3WZ2BERAEREAUzrEcEtqnIJbHVDOPUeXqVMprXLD9VU8ox9nUtODtnYq9PiRzdK\/TIpUXVrg9gcORGV2VDpCIiAKZ0R9pR11QNu0qnbZzjYH5qhdUwNnFO6eMTOHEIy4cRHfjmp3QP9xzf6l3\/Fq0XAzlm068PH4KdERZnUEREAREQBERAEREBrtQUzqyw1kDGlzjHloHUjcfBSdjqm1GorI5p3bRmN4zyLRIPgArwgEYIyCvnNoiNt1tFA\/cRzPjb02IcB8VvT2xaPN6WsNWEs2l63Po6w1dJBXUz6apjEkTxggrMiwPRaTVmSDTW6NnDXufVWmR2xx50RP9eg+lVVNUwVkDZ6eVssbxkOachdpYo54nRTMbJG8Yc1wyCFKVFDVaSqTXW\/jmtzz9vATks8f5+1abJ95yWl0fdth7f6K5F56Ktp7hSsqaaQPjeNj3eB8V6FmdaaaugiIhIU\/rWLtNOvdvmORrtuvT5qgWq1LCJ9PVjTjZnFkjOMHPyVoO0kY9IWKlJdjPbQPdLbqaR33nxMcfSQF6FrtPy9tYKF+c\/Ytb7Nvktioe8vTd4JhERQXNbc7DQXV\/aVMZEnAWcbDg4\/lzUnpnT7bta5J\/p1RTubOWYjd5pHC08u\/dXpIAyTgBTWggRYpSetS4j+Fq1jJqDOGrRpyrxut9\/geStwg3pdQVTRnPC7ODy8fDuXH1VquInsr1C\/bH2jfHxaVToq6R8zXVaa3XXiyYFFrNu\/1pRux04Rv\/ALEPlmOtGfYqdEx9iGrrrS8zWWhl4b2rrtLC\/Ib2bYxyO+c7eIHXktmiKrd2bwjhVr3CIigsEREAU3e7PPJqG3XKkpzIWvHb4IGACMH2Z9ipEVoycXczqU1UjZhERVNAuHNDmlrgCCMEHquUQErV2i42GpfW2Lz6ZxDpaPmTv+yMfDf0rb2W+U16gLowY5mfrIXHdv4jxWzWgvOmWVk\/1hQSGmr24LXA4a4jv8fFaXUtkjkdOdJ4qW1ZfX0b9FNWzU8kVSLbfY\/o1WDgSHAY7uyc7ekbKka4OaHNIIIyCOqrKLjvN6dWNRXicrHURdvTSw8Rb2jC3iHTIxlZEVTRq5O6OqXijqLZK0NkoJSw47iT8wVRLVUtkFJfam5MnOKgbx78+ud+\/l\/WdqrTabujChGUaajLl7cgiIqm55ri4sttU9vNsLyNs9CtVosAabhI6veT\/EVsL1IYbLWyAAkQP2PI7Ly6Ua1um6ThbjIcT6eIq\/8Agcz\/AJC7n7o3CIiodIREQBERAEREAREQBERAEREAREQBERAeW4W2kukHY1cIkaN2nkWnvBU3JpCvhrKb6JcnOpYZQ9rZD50fLl0Ow8FXIrxm47jCp0enUd5LaERFQ3CIiAIiIDBW0kVfRy0s3F2cow7hOCuaWmio6WOmhGI4mhrR4LMim+yxGFXxcwiIoJCIiAIiIAiIgJ27We4QV0t3s1QRUPA7WF+4eAOmR4D8V6bLqGO6PdTVERpK2P70D+Z8Rn4LcrS37TkF4b28buxrGD7OUHAJ6B348wtE09kjllTnTbnS8Vn3ZM3SKbpdQT2xzaO+xOje3zW1AGWvGcAnfmdz6lRtcHNDmkEEZBHVVcWjanVjU3HKIiqaBFhfVU0Yy+oiaP8AM8BdG3GhecNrKdx8JWn5qbMrijmelF0ZLHJ9yRrts7HK7EgDJOAFBY5RYnVVOzHFPG3Pe8BcCrpnHDaiInuDwliMSzMyLgODhlpBHeFyhIREQBERAEREAREQBERAEREAREQBERAYaukgrqd1PUxNkjdzDh71opdGUbnHsqurhjcSXMbJnJwMc\/QqNFZSa3GU6NOpxK5MnQdrccmorOWPvs\/KuPIG1f8AkVn8bfyqnRTpJ5meqUOqiej0RZmHLmzyeDpPwwuztF2RwwIJG+IlK36JjlmTq1Hqom3aFtBBAfUtz3PG3tC6DQVqBz29WfDjb+VU6JpJ5karQ6qJ1uh7O3ORO70yfgFy7RFmIwGzjxEioUTSSzJ1Wj1UTJ0FaSciarHgHt\/KuPIiBu8dzrGHv4gqdE0ksyNUodUmPI+oZ+pv1ZH1G559+xCHS106anrP9351TomkkNVpZer+yYOl7u0ebqaqJzncO\/Ohs+qIf1F8Y\/H+I3+RVOiaRjVafK68WTBGsqc5BpKkDpsOL\/j8kF61NCD9IsTXkc+yJ39GCVTomNc0NA1um\/cmPKe8M2fpmqJ\/yl35SnldV\/u\/We\/8qp0TFHIaKr\/Z6ImPK6r\/AHfrPf8AlTyuqsf3BWZ9B\/KqdExRyGirf2eiJjy1Y3d9prGt6nCeXFMdm26sJ6DhG\/vVOiYo5DR1uv6E5BqqonqIoxY6trZHBvG4HAyefJUaIobT3I1pxnHilc\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "14:36",
    "ubicacionGPS": "LatLng(lat: -22.0886631, lng: -70.194605)",
    "horaLlegada": "14:25",
    "horaDespacho": "14:29",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 14:35:25 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 14:35:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 14:35:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2522', 2, 19969062, 577226, NOW(), 
				'14:29', '14:25', '14:36', 10, 'Entrega de insumos
2 toner kyocera 3655', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781634926.png', 'Entrega de insumos
2 iton 2174', null, 'COMPLETADO','LatLng(lat: -22.0886631, lng: -70.194605)' )
				
[16/06/2026 14:35:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200750

16/06/2026 14:35:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200750'                    
				WHERE idllamado = 13033			
				
16/06/2026 14:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                
TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, dsprint@gmail.com


16/06/2026 14:35:26 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13033			
				
16/06/2026 14:35:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 14:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:35:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:28 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:28] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 14:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:29 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:29 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:29] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

[16/06/2026 14:35:30] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13033
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13033
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:31] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:35:32] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:35:32 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:35:32 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:35:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:03 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:41:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:03 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:03] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

[16/06/2026 14:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:04 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:04] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:04 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:05] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:05 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:06 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:41:06] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:41:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 13034
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:30
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2522
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:41:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:42:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:43:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:51:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:53:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:53:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                
=========================================
FECHA: 16/06/2026 14:56:52
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-uCoBsf1j8Z8RsyCO5YV1c_BAnB5u3RVzbi6ikpKFzh5XnZzL2x.
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "KY2522",
    "correlativo": "2",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "19969062",
    "contador": "577226",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "-Cambio unidad de imagen\n-Se realizo una mantencion general\nMaquina funcionando correctamente\nFirmado por Rosa Tapia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13034",
    "observacion": "-Cambio unidad de imagen\n-Se realizo una mantencion general\nMaquina funcionando correctamente\nFirmado por Rosa Tapia",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACfAO8DASIAAhEBAxEB\/8QAGwABAQEAAwEBAAAAAAAAAAAAAAYFAgMEAQf\/xABFEAABAwMCAgUJBAcGBwEAAAABAAIDBAURBiESMUFRYZGhExQiMnGBscHRFRYkQgcjM1JiotJWcoLC4fE0Q0VTdJKy8P\/EABkBAQEBAQEBAAAAAAAAAAAAAAACAwQBBf\/EADIRAAIBAgMFBgUEAwAAAAAAAAABAgMREiExBBNBUaEyYXGBsdEUIjOR4SNCU\/BSYsH\/2gAMAwEAAhEDEQA\/AP2ZERAEREB4bzcBa7VPV7cTG4YD0uOwXO11E9XbKeoqWNZLKwPc1vIZ5eCw9XOfWVVttDCQKiXik3xsNvmT7lS+hGzoYxo9gAVtWijnjJyqy5LLz1OSKerdVNNSaO0U7q+pzglvqNPt6ens7V0mv1dGBM61072HnG1w4hv\/AHvqmBnj2mF7K78Fcp0WRadSUN1d5EE09RkjyMuxPs6+S11LTWTNoTjNXi7oIiLwsIiIAiwKjV1HRXCSkrKeeLgcWiThy09vX3ZWrSXOhrmg0tXFLnoa4Z7uapxazaMo1qcnZPM9SIik1CIiAIiIAiIgCIiAIiIAiIgCIiAIi81wqhRW6oqj\/wAqNzh2kDbxQ8bSV2T1M77W13LUsbmG3x+T4uji3HxLu5c73cai7VztP2s4cR+Jmzs1vSPHfuXktdaLHpB1c4Zqq2RxjHS524BI6ts+\/tWzpq0fZduDpW\/ip\/Tlc4el2A7nkt5WWfLJHzqeKosC\/dm\/B6I9lrtVLaaRkFOwZAw6ThHE89ZK9qIsW75s+hGKirLQx73p6nuzDKw+RrGj9XM0ke49niunTt4nqJJLXcRw19MPSP746\/b9Qt5TGrYDRS0t8pg0TQPDHkg4IPInHd71cXi+VnNWjunvo+fevdFOi4xyNljbIw5a8BwPWCuSzOsIiIDrlhiqIzHNEyRh5te0EdxWJVaMs9QeKOOSmdzzE\/p9hyt9FSk1oZzpQn2lclTZ9R2sl1tufnce58lPz39uR4jxX1uraqhIZerTNT5OPKRj0Tt0Z+RKqVMaxHnM9qt53FRUekOzYf5iri8TtJHLVpujBypya7tV1NCl1RZqsDhrmRk9EvoY952WnFUQT\/spo5Ns+g4FeKp0\/aKskzUEJJ5lg4CfeMLNl0NZ5PVNRFv+SQfMFT8jNb7RHgn09yjRTH3MMQ\/DXmsiIOWnPI9exC+\/YWoYHfhtQF4ByPKtJ+PEmGPMb2qtaf2aKZFgUFJqiOtifXXKllpwf1jGtGSMf3B8VvqWrGtOeNXs14hEXRPW01NPDDNM2N85IjDtuIjG2eWdxt0rwttLNneinJ9Vz09RJG6yVZZG8t4xnBwcZ5JFra2ul8nPDU0563x5x7cb\/wCxV7uXIw+Ko3s5FGi8VFeLdcP+FrI5D+7nDu47r2qWmtTaMlJXTuERF4UFh6wmMOm6gDOZC1mR7RnwC3FK6\/l4bVTQ59ebi7gfqrpq8kc+1Sw0ZPuPFaKU3y50g9E0NqiY3bk+TGT\/ADDfowB1q3WJpO3Ot9lY6UYmqD5V+eYzyHd8Vtr2o7snZaeGnd6v++gREWZ1BTWtKguoqe3QelU1Uo4Gg42H+uF67nqm3W7Mcb\/Oqg7NihOd+09Hx7F5rJaaupuMl7u8bW1D9ooSP2Y6Dz2WkVh+ZnHWmqv6UM29e5FBDGIYWRA5DGhufYuaIszsCIiAIiIApir\/ABmvqSH8tJCXn27\/AFaqdS9gzV6svNaeUZ8iD174\/wAgVw4s5tozcI836ZlQiIoOkIiIAiIgClqJ7r9quSsALaW3gxsyPWdk\/wC\/ZsvVXamphQ3PzcP8rR\/q+I7AuJLRg+3Pcu7StD5jYIAQQ+YeVdnrdy8MLRLDFtnJKSq1Ixi8lm\/+dTZXXNTwVLOCeGOVv7r2hw8V2IszravqYVdo+0VgJZCaZ5GzoTgd3JfLVbr3bayKGSuZV0IB4i\/PGNtgM56cdPX2LeRXjdrMw+HpqWKKs+4IiKDcKH1291RdKCjaMu4MgdZc7HP\/AAq4UPcmmr\/SJTxDOYnx7f3QHrWl2rnFtudJR5tIswYqSnaJJGsYxobxOOBt7VnVWp7NSsLnV0chHJsR4ye5ZetWPDqGaYF9AyXEzGZB37e0ZH+61qGx2WIRVFJSQuGOKN+S8b9IyT1c15aKV2W6lSU3CFlbmZf3nudecWiyyPYfVlm2afl4r46xX28EC73EQwE5MEIHdtt35VSiY7aIfDuX1JN9F0M+3WO3WoA0tO0SYwZHbvPv+i0ERQ23qdEYxirRVgiIvCgiIgCIiA655m09PJM\/1Y2Fx3xsBlT+iIj9kzVT\/XqZ3OPu2+OV7dVVHm2nKt2cF7RGN8ZyQD4ZXdYKY0lho4SMERBxHUTufir0gcz+baEuS9TRREUHSEREAXVVTCmpJpzjETHPOewZXasnVFR5tpysdnBezgG\/PiOPgSvYq7sRUlhg5ckRcEZqbTQ0TXOMtxrS+Q8vRGG\/Mn3di\/SGtaxgY0Ya0YA6gobS1OKu+wO4AY6GlAyeh5378ud3K7WtV52OLYY\/I5eX2\/NwiIsT6AREQBERAFH2lpn1\/cJc5ETXb9zVYKW0sxp1BfnkekKjAPYXvz8AtIZJnLXV6lNd\/oijqqaGsppKadnHFIMOClqetqdIVIoa8Pnt0jswzjcs7MfL3hV6656eGqhdDPG2SNwwWuGQVMZWyehdWk5NSi7SX9sxDNHUQsmheHxvGWuadiF2KQkpLlpOoNRRufVWtzvTgJyY8\/8A7mPeqO33ahukfHR1DZCBlzOTm+0c17KNs1oKdbE8MlaXL2PYiIoNwiIgCIiAIiICZ1y5zrXTUzD6U1QB7dj8yFSRsbFG2NvqsAA9gUzqPNRqayUoxhsnlCOedweX+EqoWkuykc1LOtN+C6fkIiLM6QiIgClNe1PBQUtL\/wB6UuO+Mho5fzBVa\/P9bVXnV7jpYcuMDA12P3ndHcQtaSvM4tunhoPvyGmb\/R2aGbzqCfjqZOIOY0FvCNuZOdiT1qvor\/aq9uYK2Pixux54XD3FdttoGUVqgonNa4RxhrhwjBPTt7cryVml7PWuL5KNrHk5LojwZ7tklKEnmeUqdelBJNPu06mqx7JG8THBw6wcrkpp+hLWXcUU9VEejDxt4LiNIVMe0N+rI2n1hk79xCnDHma7ystYdSnXESMc8sD2lw5gHcKa+5nH+3vFZJnnvz78rQs2nKOySPkp5Jnvkbwu8o4EdwARqNtSozqt5wsvE10RFBuFMaVIN7v5ByDU\/wCZ6p1KaLDjW3iQjZ0zd+3L8\/FaR7Mjlq\/Wp+foVaIizOo+OaHNLXAEEYIPSp65aWaHmssspoKoA7Rkhr+zs+HYqJFSk46GdSlCorSRP2TUnnc5t9yj82r2Hh4TsJPZ1Hs7lQLMvVip7zCOM+RqGbxztHpN+oWRR32psdULXfeJwz+qq+fEM83Z+PR4qrKWcTBVJUXhq6cH7lUi4xyMljbJG9r2OGWuacgjsK5LM6wiIgCIiAmJ\/wBd+kSm6PIUx9+zv6lTqYovxH6QK+T1mw04aD1HDdv\/AKVOrnw8Dm2f97\/2fsERFB0hERAFGaftkF7r6q71LnuMdXxRAHA23wee247lTXiqbRWiqqHfkjON8bnYeJC8Gj6Q0unYSRh0xMp9+w8AFpF2i2clWKnWjF6K79jcREWZ1hERAEREAREQBTGiyM3MZ385PzVOpjSno3m\/MHqtqdh\/if8ARXHss5qv1qfn6FOiIoOkIiIAuiso6evpnU1VGJI38wfiOpd6IeNJqzI+a3X\/AE80R2iV1VTOeCGFgcWdmD175x4Ktic58THvYWOc0EtJ9U9S5oqlLFqZU6Kpt4W7cuQREUmwREQExpk+X1DfKjqlDAesZd9AqdTGhwTQVkrzmR9UQ7A25D6lU6up2jm2X6KfO76hERQdIREQE9rMVEtoipqeNzzUTtY7APtHjhbsMTKeCOGMYZG0NaOwDC7EVN5WM1TtNz52CIik0CIiAIiIAiIgCzrbZ47bWV9SyVz3VkvlCDybzOO9x8FoovbslxTab4BEReFBERAEREAREQBERAEREBMaM\/6n\/wCSfmqddUFNBTcfkIWR+UcXv4RjicekrtVSd3cyo03TgosIiKTUIiIAiIgCIiAIiIAiIgMa732e2VbYI7XPVhzA\/jjzgbkY5Hq8V4fvdWHZunqwnoG+\/wDKqdFaceRhKnVbup28kTH3lvT92aaqAP4i7+kJ9475\/Zybvd9FTomKPInc1P5H9l7Ex9s6nfsyxNB\/id\/qE+0dYP3ZZ6UD+Jw\/rCp0TGuQ3EuM309iY8\/1kNzaKQgc8OH9afbGqGevYmOzy4Xf6lU6JjXJDcS4TfT2Jj7wX9mz9OyE\/wAJP0KfeO+f2cm73fRU6JiXIbmp\/I+nsTB1TcoT+I07VNb+83PL\/wBfmg1xSRnFTQVcOeR4QfiQqdfCARgjIKYo8huqy0qdETzdcWd2cmdvtj+hXYzWlkdzqJGb9MTvktl1LTvxxQRux1sBXW+20Mnr0VO7bG8TT8kvDkMO0f5L7fk8sOo7NPjguMAyM+m7g+OF74pop28UUrJB1scCs6bTNlnzx2+IZOfQyz4YXgm0LaJDlj6iLsa8EeIKWg+IxbQtUn52KRFMfczg\/YXisjxy35d2F8Onr9Tj8JqCR\/UJs7dnMphjzG9qrWn1RUIpgu1nSjPBSVfDt0Di7fyr5957vSgGusEwafzxk4Hgfivd2+A+Jiu0mvFFQinIdb2t7uCoZUUzxzD48gd2\/gtelu1urceb1sMhP5Q8cXdzUuMlqjSFenPsyR7ERFJqEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB0z0tNVN4ainimHVIwO+KyarR9lqRtTugd+9E8jwOR4LcReqTWjM50oT7STJgaUr6QD7OvlREBtwPyRj3HHguPHrGg9eOmr2Dnw4Bx\/KfBVKK94+OZl8NFdhteDJhusX0rwy62mopTnHGBkHt3x4ZWlT6ls1S0FtfEwkcpTwY71pua17S17Q5p5gjIKzajTdnqs+UoIwT0syzHcl4PgMNeOkk\/H8GjFNFMzjikZI3rY4ELmpqTQ9AH8dLVVVO7+F4O3dnxXH7v3+l3o9QPkxyE4JHs34l5hjwY3tVdqH2a\/BTose2QagbWNkuVXTvp\/JkGONuDxdfL5+5bClqxtCWJXtbxP\/Z",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "BASTIAN RIOS",
    "nombreContacto": "IVAN DIAZ ALARCON",
    "correoContacto": "ivan.diaz@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA QUE HOJAS ESTAN SALIENDO MANCHADAS.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "+56967966316",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R807\",\"id_control\":\"29034\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "14:57",
    "ubicacionGPS": "LatLng(lat: -22.0886694, lng: -70.1945893)",
    "horaLlegada": "14:25",
    "horaDespacho": "14:36",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 14:56:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 14:56:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 14:56:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'KY2522', 2, 19969062, 577226, NOW(), 
				'14:36', '14:25', '14:57', 4, '-Cambio unidad de imagen
-Se realizo una mantencion general
Maquina funcionando correctamente
Firmado por Rosa Tapia', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781636212.png', '-Cambio unidad de imagen
-Se realizo una mantencion general
Maquina funcionando correctamente
Firmado por Rosa Tapia', null, 'COMPLETADO','LatLng(lat: -22.0886694, lng: -70.1945893)' )
				
[16/06/2026 14:56:52] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200751
[16/06/2026 14:56:52] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200751', 'KYO-R807', 1)
				
[16/06/2026 14:56:52] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29034 and
				    IDproducto = 'KYO-R807'
				

16/06/2026 14:56:52 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R807';
                
16/06/2026 14:56:52 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200751'                    
				WHERE idllamado = 13034			
				TO ENVIO: micorreo@miempresa.cl, ivan.diaz@eplicancabur.cl, dsprint@gmail.com


16/06/2026 14:56:52 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13034			
				
16/06/2026 14:56:52 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:55] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:56] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:57 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 14:56:57] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:56:57 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13034
            GROUP BY l.idllamado;
            

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:56:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:21] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:22 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 14:58:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:23 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:23 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 14:58:23] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 14:58:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 14:58:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:28 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:28 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:28 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 15:20:28] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:28 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:29 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:29] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:34 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:34 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:34 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 15:20:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:34 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:34 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:34] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:34 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

[16/06/2026 15:20:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:35] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12982
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12982
                

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:36] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:37 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:37] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:44 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 15:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:44 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:44] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:45] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:46 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:46 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:46 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:46] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:46 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:47 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:47] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:48] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:49 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:49] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 15:20:55] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:55 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 15:20:56 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

[16/06/2026 15:20:56] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:20:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 15:27:12 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:27:12 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 15:27:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:27:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:27:22 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:22 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:22] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:27:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:31 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:27:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 15:27:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:42 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

[16/06/2026 15:27:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:42 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:27:42] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:27:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13027
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => EQUIPO PARA REVISIÓN Y EVALUACIÓN.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:11
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3085
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:57 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:27:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:29:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:29:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:29:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                
=========================================
FECHA: 16/06/2026 15:31:21
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-N_EKWHYoW_aLSOc69wO-9MK4Wok.9Sb+fjZ93OlX9pOFmZn0aIV
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3085",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "50627",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de Unidad de Imagen\nMantenimiento, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13027",
    "observacion": "Unid. Imagen\nreparada en Taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABcAMcDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xABDEAABAwMBBAUHCAcJAAAAAAABAAIDBAURBhITITFBUWFxgRQWIpGhscEVMkJSVWLR0iMzNJLT4fAkJVNUZZOio\/H\/xAAZAQEBAQEBAQAAAAAAAAAAAAAAAgMBBAX\/xAAwEQACAQIDBQYGAwEAAAAAAAAAAQIDERIhMQQTQVGhImGBkdHhFDIzQlJxscHwkv\/aAAwDAQACEQMRAD8A+zKCuNLqFtdLU22thMLsbNPKOXAA8cdeSp1F1OxE4Katdr9FYF31RT5FTZGS46YTz9RKed1XH+06frIurmfe0KzoqxR4ox3NRaVH4pMrHn3QM4T0VZGerZb48yFka9tJODDVjtLG\/mVmWC0OGHAEdRS8OQ3df8+nuV8a3sxGduYdm7WyPWVjeMuqnM7HRO+AKlzR0pOTTREn7gWqS1W6bjJQUzz1uiaT7kvDkMO0L7l5e5zx6js0uNm4wDP1nbPvXbDWUtRjcVMUueWw8O9y4JNM2WUHat8Qz9XLfcuOfRNokB3Imgd0FkhOD45TsC+0Lgn4tFhRVjzZulIM0N+m4cRFNnZPeQfgjL3d7TM2O9UofTlwaKqMAc+kgcz2Djz6kwX0Y37j9SLXVdCzosNIc0OHEEZCyoPSEREAREQBERAEREAREQBERAEREAREQBERAERR1ff7ZbWu8oqmbYH6th2nHwC6k3oTKcYq8nYkUVVdqO7XRzmWS2O2McJ5uHjx4e0r15sXK5lrr3dXPaDncQj0fXwHs8VeC3zOx5\/iMX04t9F5khXaptNFlvlInk6I4PTJ8eXtUYyivGpalktyb5Fb2EObTjm\/pGf5+AU1QWG2W14fTUjGyD6bsucPE8lIpiUflG6nU+q8uS\/sw1oa0NaAABgAdCyiLM9QREQBERAEREAREQBERAEREAREQBEXl7Q+NzCSA4EZacEdxQHPXXKitse8rKhkIPIHiT3AcSq9PrZsrnMttE+YjhvJTstGeX9Eha26BY+UvqbnLKXHLiI8E+JJXbFoezxn0t\/Lwxh7x8AFslTWuZ8+T2ub7KUV+yDmq5Lg3N61DHBHnPk9KNvwy3h6yV7pbjpC3cGUlRVOb9OVgdntwSB7FaINO2emxu7fCSOl42\/flRsupWUVTLS09kncYnujBjZgOwejA5cFSliyS\/oydJ0+1Uavzs5M8jXVuLQIqOsd2bDR8U88\/wDR6z1J5zXmU\/odOVAB5F+1+UJ8uak+wP8AkVzCuXUvfSf3v\/k202tLbJLuqqOakfkD9K3hy7OSnaephqohLTyslYfpNOfBVepqdS3CMxyafpJGEcpsHA8XDjyUQbZqCyGW5xQMo2Mw57I5NpuM8sZORxTBF8bBbTUhqnJc7Nex9ERVSmn1fWU0c8L6PdytDmu4cAVs8j1m\/j8pUcfZsj8hUYO9HoW03zUJeXuWdFWPIdZ\/a1H+4P4aeQ6z+1qP9wfw1zB3o78Q\/wAJdPUs6KseQ6z+1qP9wfw1zVly1LYGxzV89HVROcAQOBPXjAB9hXcF9Gjj2lRV5RaX+7y4IvET95EyTBbtNBwejK9rM9QREQBERAEREAREQBERAEREAREQBERAFHagfGywVzpHbI3LsH730fbhSKousr7DVTMt0Di+KF+Zy042iOgHs4+PcrpxcpHm2qrGnSbZZNLh403RB5BOwTw6snHsUsqZS64OxHBT2R5Y0BjWxzE4A6B6PUtNbra4mbcxUkdFn6U4LiO3l8Dy6Vbpzb0MYbZQhTSve2WjLyuOru1voM+VVkUZH0S7LvUOKrdHaq+\/Rb2q1EJYwcOjpTwHfyAPPoUnS6Os1MQTA+cjplfn2DAU4YrVmqq1Zq8I2Xe\/Q55NVTXB5gsVBJUycjLINlje3\/3C90OmppK1twvVV5XUDi2PHoM9fwwp+KGKBgjhjZGwcmsaAF7XMdsonVQcneo7\/wAeXqERFB6QiIgCIiAIiIAiIgCIiAIiIAiIgCKLueorbactqJtqX\/Cj9J38vFQ733zU5DGROt1udzcT6bx7\/Dl2q1BvN6HnnXjF4Y5vkv8AZG+66gnq6l1psbDNUO9F84+bH14PX2\/FSViskNkot0w7cr8GWTHzj+AW612qktFKIKWPH13n5zz1krtRyVrLQU6UsW8qa9EFrmp4KlmxPDHK36r2hw9q2IoPQ1fUrdXpIRSmpstU+hn+pklh+I5nr7l4o9R1dvqfItRRbhxH6OoDfRf344erl0qzrmrrfS3KnMFXC2RpBwSOLe0HoK0U75SPLKhh7VJ2fLg\/A6AQRkHIKyqfTTVeka9tLWSumtcpxFKQTuz1dnd4jpVva4OaHNIIIyCOlTKNjSlV3l01ZrVGURFJsEREARa5poqeJ000jY42jLnOOAFWqnUFfeJ30WnoSWt4Pq38AO7PL39iqMWzKpWjT115cSy7+Hf7jes3uNrd7Q2sdeEUVZNOQWl5qZJHVFY8YfM88s88fjzRcdr5FU3JxvJWNFzt1\/ZWyVtsue01xH9mkGGgDoGeHuWnzsqqMf3rZqmAc9uMZGPHHvVmWCARgjIKrEuKMnRkm3CTXVEFFrOySDLqh8XY+J3wBWzzvsP+f\/6X\/lUhLbaCY5loaeQ\/fiafgvHyLavsyj\/2G\/gnY7zlto5ryfqcLtY2JoyKwu7BE\/8ABcr9d2oHDIqqQnlssHH1lTLbTbW\/Nt1KO6Fv4LqZGyMYYxrR90YS8OQw7Q9ZJeHuVo6sraohttslRLtcnv4AHtwPiFjyPVF2\/a6mO2wk8WRH0seH4juVoRMaWiG4lL55t9P4Ia2aWtttcJd3v5+e8l44PYOQUyiKW29TaFOMFaKsERFwsIiIAiIgOetoqe4Ur6apjD43jiOrtHaqzFUXLSUogqmuqrUThkwGXRDPT+Hq6lblhzQ5pa4AgjBB6VUZWyehjUpYnii7SXH1OGivlsuDA6nrIiT9Bztlw8DxXcCCMg5BUNV6Ss1W\/bNNunYxmJxaPVyXH5hWnazvqvGeW238qtRi9GYSrVaeUkn4+xO1VxoqJhfU1UUQ4\/OcMnuHMqDm1gKifyazUMldIR88gtaO3HPHfhbqbRlmp3ZdFJPy\/Wvz7sKbhghpohFBEyKNvJrBgBceGPeUnWqq91Fd2bK63TlddpGz3+sLgDltNCcNb4\/13qwUtJT0UDYKaJsUbeTWhbkUuTZtTowhmtefEIiKTU\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BELÉN RAMÍREZ VIVANCO",
    "correoContacto": "belen.ramirez@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "EQUIPO PARA REVISIÓN Y EVALUACIÓN.",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:32",
    "ubicacionGPS": "LatLng(lat: -22.4550415, lng: -68.9266346)",
    "horaLlegada": "15:24",
    "horaDespacho": "13:29",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 15:31:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 15:31:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 15:31:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3085', 1, 21773342, 50627, NOW(), 
				'13:29', '15:24', '15:32', 4, 'Cambio de Unidad de Imagen
Mantenimiento, limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781638281.png', 'Unid. Imagen
reparada en Taller', null, 'COMPLETADO','LatLng(lat: -22.4550415, lng: -68.9266346)' )
				
[16/06/2026 15:31:21] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200752

16/06/2026 15:31:21 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200752'                    
				WHERE idllamado = 13027			
				
16/06/2026 15:31:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                
TO ENVIO: micorreo@miempresa.cl, belen.ramirez@eplicancabur.cl, dsprint@gmail.com


16/06/2026 15:31:21 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13027			
				
16/06/2026 15:31:21 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 15:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:31:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:31:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13027
            GROUP BY l.idllamado;
            

16/06/2026 15:31:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:31:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:31:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:31:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13027
                

16/06/2026 15:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:20 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:20 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:20] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:20 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:29 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:35:29] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:35:29 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13026
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3083
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:29 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:29 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:35:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:36:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:36:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:38:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:38:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                
=========================================
FECHA: 16/06/2026 15:39:26
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-h+3ZYI7aU1p7ox_z9akTU04GBARDe4iSlkWG6OkBvnp0IpyOHmt
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3083",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "52778",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Cambio de Unidad de Imagen\nmantenimiento , limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13026",
    "observacion": "Unid. de Imagen \nreparado en Taller",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC6AOkDASIAAhEBAxEB\/8QAGwABAQADAQEBAAAAAAAAAAAAAAYDBAUCAQf\/xABKEAABAwMBAwgGBQgIBgMAAAABAAIDBAURBhIhMRNBUWFxgZGhFBUiMrHBI0LC0eE1NlJidIKS8AcWJDM0c7LSJjdDRVWiZHLx\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF\/8QAMhEAAgECAwQJAwQDAAAAAAAAAAECAxESITEEMkFREyJhcYGRscHRM6HhFCNS8EJi8f\/aAAwDAQACEQMRAD8A\/ZlhqaqCjp3T1MrYomcXOWZSM+3q2+Gly5tsonZc4AjlHcMfHuz0q0Y310Ma1RwSUc29DL62vN\/mLbNEKWlYd9TN9bHEc\/l4r16j1J\/5\/wD9SqSKKOGJsUTAxjBhrWjAAXtWx20RmtnvnOTb77ehKy3G+6cLXXMMr6Nx3yxjDmdv896pqeeOpp454iSyRoc0kY3di+yxRzROilYHseMOa4ZBCnNLvdRXK42UlxZA\/lIsnOGk\/cR5o7SV+IWKlNRbvF\/ZlMiIszqCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDkaorvQbDUOa7ZfKOSYQcbz+GVk0\/bW2uzQQbOJHDblyN+0ePhw7ly9Q\/23UtotvFocZnjpA6+xpVOtHlFI5odetKXLL3YREWZ0hTFD\/zEuX7MPhGqdS+m2+l6iu9x3FvKGJh5yM\/cArw0bOavnOC7fRMqERFQ6QiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAmKLFTr6tk+rTwBoPX7P4qnUxY\/wA8Lz3fFU6vPVHNs2632v1CLAa2lDnMNTCHMOHDlBkHoK51w1PbKAmPlvSJ+AihG0SejPAKqi3oayqQiryZ91JdW2u1PLXkVEwLIQ0ZO10933L1py2vtdlhp5d0rsvkHQTzd24LmWq21d3uXrm8QmMNP9mp3Hc3oOPv4neqhXlksKMaSdSfSvTRfPiERFmdQREQBERAEREAREQBERAEREAREQBERAEREAREQBERATFkBGsLxkccY8VTqXiHon9IUoBOKqnzjm4D\/b5qoV56o5tmyjJcm\/U41bpW019S+omheJZDlzmyEZK2KCw2y2vElNSMbIABtuy53nw7l0UUYpWtc0VGmpYlFXCLTulzp7TROqqg4bnZaBxc7mC4UTtUXtvLNkjtlOR7DSDtnnz0\/DsRRurkTrKLwpXfJFSilpI9UWhvLioZcYm73s2cux8ezHXldey3umvdLysPsSN3SRE5LD8x1qXBpXREK6lLC1Z9p0kRFQ3CIiAIiIAiIgCIiAIiIAiIgCIvL3sjGXuDRnGScID0iIgCIiAIiICXvZFHrG01Z3CUGInp34+2FUKa1vG5tupqxgO3TTg5HMD+ICo45GyxtkYcteA4HpBWks4pnNSyqzj3Pz\/4ekRcbVde632GZ0Zw+Y8k05xjOc+QKold2Nqk1CLk+Byo43arv75ZfatdEdljQ7dI7p7+PZgKuWhZ6OO2WangxsbEYdIXbvaO9xPetyKWOZgfE8PaecK0nd5aGVCGFXlvPN\/3sPalL3BLp+6R3qiYRTPds1UTTgEnnx1\/Edaq1r3CkbX2+ekfjErC3JGcHmPcd6iMrMtWp445arTvMkMzKiCOeM5ZI0OaekEZCyKf0XVPnsXIye9TSOj7uI+PkqBJKzsWpT6SClzJ+4X+t9Zut1oohUzxn6Vz\/daMDoO7iRv6Fg\/4z\/8Ah+S+XRzrLqqnur3O9Fq28jLj6pxu3dG4HuKqFdtRSsjmjGVSUlKTTT4ZZcCYNZq2iHKz0UFWznZF7wHVj8V0LPqKku7nQtDoalnvQv493SuupnWNDydPHeKb2Kmle0uc0e83O7PYcKE1J2aJnGpRWOMm0tU\/kplr1ddS0EPK1UzYmZAy7tA+YXumqI6uliqYs7ErA9ueOCMqaurG3XWlHb5AHwQRF8jHcCSCeH8KrGN3mbVajjFOOrsl4lPFLHPE2WF7ZI3jLXNOQQvamNMTPobnX2KUktgeXwlx37PR4EHxVOklZ2JpVOkhfiEXGv8AqGOxiEGLlXSu3tDsEN6etdWCZtRTxzN92RgcOwjKizSuWVSLk4p5oyItesraagg5eqlEceQMnnPQskM0VRE2aGRskbhlrmnIKixbEr2vmYblcIbXQS1c59lg3AcXHmAUpJbqu9WurvV0lewCB8lNAw4DQGkg9h81s3EO1Bq2O3HJo6Abcw5nH+cD+JdHVtS2j03O1uGmTETBwG\/iPAFbR6tktWcFV9KpSluxv4syaVkkl03RvlJLtlw3jmDiB5ALrrRslP6LZKOE8WxNJ7SMnzK93Svjtlulq5MewPZBONp3MFm85ZHVTeCksXBG2inNO6hqbhWSUdwhEU5YJY8DALTv4dhCo0lFxdmWp1I1I4ohFyBqSidfBaow98mS10gHstcOb5dq66hprUmM4zvhd7HL1JTelaerI8ZIj2xu\/R9r5L5pmqNXp6jkPFrOTP7px8l03Na9hY4Za4YI6QpnSMooqmuskpxJBKXMzu2m7hn4HvV1nBown1a8Zc1b3+SoUxrD6Wrs9LjIlqejraPtKnUxqn8uaf8A2n7TEp7xO1fSfh6o29X1Zp7FJCzfJUuETB054+QK0dCNfHSVsD3Z5OfGM7gcb8L7rhxigoJtkubHPtHCz6Khe20S1MmNqpmc\/I4Y3fPKtpSOe7ltnciiRFgrahtJRTVD3BrYmF2T1BYnoN2V2T+iv7u4lp9j0o4A4KnU7oeAxaeDzwmlc8eTfsqiV6m8zn2VWoxNG8W9t0tU9Ifee3LD0OG8ea0tLXIVlrbTSezU0g5KVh4jG4Hy8QV21LvzatcsIw2G4M37sZd29OQP4lMc00KvUqRqLjk\/b7lQuXqUA6drcjP0fzXUXE1fUej6cqB9aUtjHed\/kCqw3kXrtKlJvkzY044u09RFxJPJDeVyrPiq1tdqoDIiaItw3A7h4+wfNdq2MFHYqVrsnkqdpO\/9XJXH0NETbKirf79ROScdAH3kq\/CTMGm3Sg+\/yX5PN32rdrK21zdzKoci\/fjJ4b\/EeCqFMa1+iit1VzxVI3+f2VvaquHq+xTlriJJhyTMHByePllGsSiTGapSqX0WfmiarGevhd7xIDyVM3kqfeCNx+7f+8qzTzy\/T9CTzQtHhuXMmt4tmhJqY52+R2n5\/SO8\/d3LH6zNs0PSuiJ9ImjEUIHHaOd\/cPPCtLrKy5mFP9qeKeuG78\/6jBWg6qv0tK1xNDQMdktz7TyMd+8buoHpW9ouoadNjaOGwSPaSTnA94\/FbunrQLPa2wuA5Z525SDn2ujPQuHpyR1NYL21n\/QdI5uN2\/Z\/BG000uFiYxdOpGctWnf7ZeBtaLb6THX3N4+kqKgjJ444\/a8k1QBW3m02w+6+TlHjjkdnYCtrRrNjTVO79Nzz\/wCxHyWpZi+7aqrrpymYKcchCOn8OJ71H+bfIlK9CFP+VvllQpa\/k3jUFJY2SfQs+lqQPHGenH+pUlTUR0lNLUzO2Y4mlzj1BcHSlNJUGqvdS3E1a87Ax7rOr+eYKsMryN6\/XcaXPXuXyYr831fqa0XCMBrHfQOxuAHD4OPgu5da9tstk9Y4A8m32Qed3ADxXF12CLPTyjeY6lp8nfgvOqZPT6y22eNxxUvEkhB4N6cfxeHhZLEo3MpTdJ1Euy3e8jhW6jfSXSy1c4PKVsrpD04J3bu\/Pev0VS+pmtjvengwbIFRsjHRtM3KoUVHiSZbZYKm5wXC3ogpbU9NLb7hTagpGEmEhs4HO3hnwOPBVK8SxRzwvhlYHxvBa5p4EKkZYXc6K1PpIW48O8801TFWU0dRA8PjkbtNcFOaxJp6uz1zgTFT1PtY7Wn7JXxtvvOnZJBamCtonuLhA84dH2b1q3V2or3b5IJbXFTxMBkJccuJbvwO3sWkYpSunkclaq5UnCUXi7uRl1ZUet6instA0TzB\/KSFozsbtwzzcd\/cujpS5xVdrZSFnJVFGBHJGRg7t2fv68rDoqCjFmFTCw8vI4tme7eSRzdnBZrtpeC4VPptNO+jqxv5SPgT0ngc9YKNx3GIRqN9PHNvh2fJ3VL6mq5blVw2CgeeUkdmpc0HDG9Bxzb8nu6V99Var2TF66hMRBG1jD\/HZz5rp2WxU9niJaTLUSD6SZ3F34ZVVaOd7mknOssGFpcb+xuwwR0NEyCCMlkLNljRxOB8Vr2e7R3eldPHG6PYeWFrjv5j81vqUoyzT+rJqV\/0dJX+1ETuAf0eJI7woSxJ8zSpN05R\/jp8FWpjWXsy2qUAbbanAOOHD7gqdTGsiHTWmEe++p9kYJzwHzCU94ja\/ovw9SnUxrMGf1bQ5\/xNSARnGeA+0qdTGqfy5p\/9p+0xKe8Nq+i\/D1R1NRVQo7BWSEgF0ZY3tdu+a86apTSafpI3NLXFm24O45cc\/Nc3U8guFzt9jY4\/SyCSYDmaOGcdWT4Kma0NaGtAAAwAOZHlFIQ69eUuSt7v2JnX35Dh\/aW\/6XLxdMXrV9Jbg53I0Q5WYDgTuOP9Iz1le9ffkOH9pb\/pcvujoZJ21t3naQ+slOzk59kHm7zj91aLKFzlmse0unzs33K\/4OlqT83a3\/KKm9MxPvNdSSStPotqiAYD9aQ78\/P90dKr7hRtuFBNSPeWNlbslw4hY7TbIbRQMpIN4BJc4je4nnP88yopJRtxOipRlOupPdS9zdUXbswN1PbyCHBsj2A84w4Z82+KtFLVjW0GuYJZMcjcYTE7POcYxu6w0d6Q4obSt2XbbzyMVFcRbv6PGSteGyOD44+naL3fLJ7l2NM2822xwROxykg5V+Ok83cMDuUfZrZLV3sWiV4fTUU0kko4tOMNI3jnIA7yqzUN+FriFPTAS10o+jjG\/HWR8Bzq81nhXHM59nmsPSTyUVb5OfqSqku1fFp6icCXkPqHg7mgZOyfDPgqWmp4qSmjp4W7McbQ1o6guXp6ym1wyT1LzJW1R253E5wd5wPHeuys5NaI66MJXdSer+y5E9rcA6ddkcJW4Wjpoetr\/UXRx2mU8bYoiRjfjGfAHxW9rb83X\/5rF90XSejWBkhaA6oeXk8+OA+Hmrp2pnNKLltaXC1\/K\/yYNU\/lzT\/7T9pip1Mar9m82F591tTvP7zPuVOqy3UdFL6tTw9AiIszpCIiAldOD1ZqK52jgwnlYhvwB\/8AhHgqpTF+Y+i1NarlE0u5R3IPABO47vg4+Cp1pPOzObZ+rip8n9nmERFmdIXK1BZ23m3mNpDZ4ztQvJxg9HYV1UUptO6KzgpxcZaMl7dqxtNH6JfmvpqqPcXlhIeOGd3Pu7F5opm6i1UK6MPNHQtxE7ZID3dOe\/h0AKknpaaqbs1FPFMOiRgd8V7jijhjEcUbY2NGA1owB3K+JapZnMqNR2U5XS8\/E9rgaooaqeSgrqSAzvopTIYw7BI3O4Y3+7jv5131oVV8tVHnl6+FpHFodtOHcMlVjdO6NqyjKDUnY51gtdV6wqrzcoxHU1G5kec8m3+QB3daoFOTa4tTHbMTKid3NsMGD4lY\/wCtldP\/AIPT9VK08HuyB5A\/FXcZyd2jCnWoU1hjK\/39DJrWmqay209PS00szzOHHk2k4wCN\/RxXboaRlBQw0kZJbEwNBPP1rgeuNUPPsWNgA\/Sd+IT1jrB+9lnpQP1nD\/eEcXa2RWNSCqOok232Mp0Ux611W337JCccdl3Hs9pP6wX+PfLp2Rw\/UJ+4qvRs1\/VQ4p+TKdc+8WeC80rYZnPYWO2mPZxaVyP64ywgmssdZBgZO4nHiAtul1hZakb6h0Dv0ZWEeYyPNTgms0Q69CosLfnl6msdICmYJbbXSwVmTtTOJO3k7wer8FtWnTUVBVOrqmd9ZWOH95Jv2Tjfj7+hdaGpgqW7UE8creljg4eSyqHOWjLR2ekmpRQREVDoJ7W35uv\/AM1i61riEFppImgAMhYN3YFsvjZK3ZkY17ehwyF9AAGAMAK2Lq2MlTtVdTmrEzrL2ZLU8e82pGD4fcqdTGs\/+2ftI+Sp1Mt1GdP61Tw9AiIqHSEREAREQBF8JAGScALh3DV1rotpkchqpgcBkW8Z\/wDtw8MqVFvQpOpCmrydjurDUVVPSR8pUzxws\/SkcGjzU22bVN5I2I22uncPePvee\/4dq2KfRlDynLXCeevmPF0jyAfPPmr4UtWY9NOf04+Ly\/IqdaW9snJUMM9dIeAjYQPPf5LB6bqy5EejUcVvjP1pfeHbn\/aqOnpaekj5OmgjhZ+jG0NHksyYorRDoqkt+fll+SXGkaqsJddbzUT7W8sjOAD1Z3dPMt+m0lZaYD+yCVw+tK4uz3cPJdlFDnJ8SY7NSjnhv35+pjip4IBiGGOMdDGgfBZERUOhK2gREQBERAFp1Npt9Yc1FFBIc52iwZ8eK3EUp2IcVJWaJybRdEH8rQVNRQy8xY8kD58cc6w8nq21b2SQ3OIY9l3vAc\/QfMqpRWxvjmc72aGsOr3f2xN02s6blRBcqSegmPHbblo+BHgu\/T1MFXCJqaZksZ4OYchfKmlp6yIxVMLJWH6r25XAn0j6M8z2Stkopce4XEtdx5+PP1qeo+wj9+n\/ALLyfwUqKVbqK72duxfLc+RgIHpMIGD283wXet11orrFylHO2THvN4Ob2hVcGszSFeE3ZZPk9TJVUFLXGI1MIl5F+2zOdx+a2ERVNbJO4REQkIi5d4v9FZo\/pn7cxGWQs949vQOv4qUm3ZFZzjBYpOyOm5wa0ucQABkk8yna3V0PKmltNO+4VH6jTsj5n+d61WW+8amkEtzc6hoCQRTNOHPHX957gqOgt1JbYORo4WxN4nHFx6zzq9ox1zZzYqtXc6q5vXwXyT0dgvF6dyt8rXRQk59FiPx5h5ld232a32sH0OmZG48X8XHvO9byKrm3kaQoQg76vm9QiIqm4REQBERAEREAREQBERAEREAREQBERAfHNDmlrgCCMEHnU7cdL7EwrrG8UVWzJ2W7mP6scB2cFRorKTWhnUpRqK0kcWxXuaulloK+n9HradoL2594dOObiOniu0iKG03kTCMoxtJ3CIuDqa7y0kcdvoBt11UcNaBktacjP89fQkU27IipUVOLkzHeb\/M6qFpswE1Y\/c6Qb2xfj8Fls+l6e3yel1TzWVrjtOlk3hp6s8\/Wd\/Ytqx2SCzUgYwNfO\/fLLjBcegdA6l01dytlExhScn0lXXguC\/PaERFmdQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAU1ZaWes1HcLrVxyx8m7koGSNIwMcfADxVKisnZMznTU3FvgERFU0CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiA\/\/2Q==",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "BELÉN RAMÍREZ VIVANCO",
    "correoContacto": "belen.ramirez@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "INDICA LINEA VERTICAL EN LA PARTE CENTRAL DE LA HOJA",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "15:40",
    "ubicacionGPS": "LatLng(lat: -22.4550514, lng: -68.9266465)",
    "horaLlegada": "15:24",
    "horaDespacho": "15:32",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 15:39:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 15:39:26 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 15:39:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3083', 1, 21773342, 52778, NOW(), 
				'15:32', '15:24', '15:40', 4, 'Cambio de Unidad de Imagen
mantenimiento , limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781638766.png', 'Unid. de Imagen 
reparado en Taller', null, 'COMPLETADO','LatLng(lat: -22.4550514, lng: -68.9266465)' )
				
[16/06/2026 15:39:26] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200753

16/06/2026 15:39:26 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200753'                    
				WHERE idllamado = 13026			
				TO ENVIO: micorreo@miempresa.cl, belen.ramirez@eplicancabur.cl, dsprint@gmail.com


16/06/2026 15:39:27 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13026			
				
16/06/2026 15:39:27 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:28 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:30 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

[16/06/2026 15:39:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:39:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:30 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:39:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:39:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:39:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:30 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:39:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:39:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:39:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:39:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13026
            GROUP BY l.idllamado;
            

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:39:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13026
                

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:51:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:51:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:51:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:51:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:51:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:51:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:51:59 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:51:59] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:51:59 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:51:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 15:52:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:07] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:07] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:07 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:07] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:07 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:07] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:21 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:21] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:21 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:24] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:24 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:24] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:26 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:26 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:27 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:27] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:50 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[16/06/2026 15:52:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:50 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[16/06/2026 15:52:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[16/06/2026 15:52:51] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:51 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:52:51] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:52:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:52:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:52:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:53:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:05 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:53:05] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:53:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 15:53:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[16/06/2026 15:53:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:53:06 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 15:53:06] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:53:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 15:53:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
[16/06/2026 15:59:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '9291721'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 15:59:23 - INPUT: {"rutTecnico":"9291721"}[16/06/2026 15:59:23] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 9291721 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '9291721'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 15:59:23 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => BERLIAM SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76050301
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => ESTUDIO 479S
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C5891
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => AM-C400
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 15:59:25 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:59:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:59:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:59:27 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 15:59:27] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 15:59:27 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 15:59:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:00:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:00:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:23 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

[16/06/2026 16:00:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:23 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

[16/06/2026 16:00:23] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:30 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:30 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:00:30] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:30 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:30 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:00:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:31 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:00:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:31 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

[16/06/2026 16:00:31] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:00:31 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:31 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:00:31 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:00:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
[16/06/2026 16:02:15] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 16:02:15 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 16:02:15] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 16:02:15 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 16/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 16/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 16:02:16 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:02:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:02:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:02:20 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:02:20] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:02:20 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:02:20 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:22 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:02:22] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:02:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13064
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 12:59
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2064
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [10] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:02:22 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 16:02:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

[16/06/2026 16:02:22] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:02:22 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:25 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 16:02:25] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:02:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 13025
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:02
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => AM-C400
            [SerieInternaMaquina] => EP3091
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:02:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:02:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:28 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:41 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:02:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:04 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                
=========================================
FECHA: 16/06/2026 16:03:04
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-GJ2-2tMcL9tYUq7b20TnYZ.ILEjs8B7PMtP7tOj7f9j57NsXAjr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "EP3091",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "9291721",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "insumo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13025",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCABzAJwDASIAAhEBAxEB\/8QAGwABAAIDAQEAAAAAAAAAAAAAAAUGAQMEAgf\/xAA7EAABAwMCAwQHBgQHAAAAAAABAAIDBAURBiESEzFBYXGRIlGBobHB8BQjMlLR4RUWM1NCQ4KSosLx\/8QAGAEBAAMBAAAAAAAAAAAAAAAAAAECAwT\/xAAvEQACAQMCAggFBQAAAAAAAAAAAQIDETESIQRRIjJBYXGBkbETQqHB0URSguHx\/9oADAMBAAIRAxEAPwD7MiIgCIiAIiIAiIgCIiAIiIAiIgCLmuFY230E1W9he2JvEWjqUt9Y24UENWxhY2VvEGnqFNna5XUtWntOleJZY4InSzPbHGwZc5xwAFor7lSWyDnVkwiaTgZ3JPcFWiazWVXhvMprRG7c9HSkfXgPFWjG+7wZVayi9Md5cjfUXe53yqNPYDyoI\/6lVI3APhn9MqyQNkZTxsmk5krWAPfjHEcbnHYvNNSwUdO2CmibFEzo1q3KJNPZE06co9KTu36eQREVTYIiIAiIgCIiAIiIAiIgCIiAjNSb6drt8fdFY04SNN0ZAyeVsPWt17YZLFXNHX7O8\/8AErk0k8P0zRkdgcD7HFX+TzOb9R\/H7nFDYqy8Vn2y+SHlsf8AdUrdm4Hae7396scUUcETYoWNjjYMNa0YAC9oocmzSnSjDGeYREVTUIiIAiIgCIuasuFHb2cdXUxwg9OJ258B1KZIbSV2dKKOtN7pLzzzSNl4YSAXPbgOz6vJSKlprZkRlGa1RewREUFgiIgCIiA5rk0utlU0bkwvA\/2lRWjHcWm4d8kPeD5qanZzaeSP87CPMKv6Efx2BzfyTub7gfmtF1Gc0tuIj4P7FkVUuOpa+e7i1WeJgkzwmSQE7+HYO\/dWtaGUVLHUuqWU8bZnZy8NAJz1VYtLKL1YTmkou3MjNP3ma4GekrWNiraZxEjQMAjPUKaVVvjP4LqKjvbNoZncmo9o6+W\/+lWkEEZByCpmlldpWhKW8JZXt2GURFQ6AsOcGtLnEAAZJPYsqAutqul4rjBLUintoG7WHLnnv+O+3ipSvkzqTcV0Vdmit1PNWVDqCwQGpn7ZiPQaPX+528V6t+kYuZ9ru8rq2qdu4OPoA\/P4dym6C30ttphT0kQjYOuOrj6ye0rbNNHTwvmmeGRsGXOcdgFfXbaJiqGrpVnd\/RGYoYoIxHDGyNg6NY0AD2L2oWwXiqvE1XK6FrKJj+GB+CHO+tvNTSo007M3pzjOOqOAiIoLhERAEREAVY0b91JdaT+zUnr17R\/1VnVY0wQzUN+jJ9J0\/EPDif8AqFePVZzVdqtN+PsWdEWmqq6eihM1TMyKMdS4qh0NpK7OW\/QU9RZKplS7gjEZdxdrSNx9exc+lZpZ9PUzpeIkAtBcc5AOB+nsURVVs+r6kW+ga+K3tOZ53N\/FjcD9v0VqpqeOlpoqeIYjiYGNHcBhaPoxszlpv4lV1I4Stfn\/AIbVXdG1U9Vb6l00rpA2ocGuO+2AevtU\/M\/lQvk\/I0nyVe0IzgsDnfnnc73AfJQuqy02\/jQXc\/sWREXiWWOCJ0sz2xxsGXOccABUOnB7VR1TdIrmIrNbpubPJMBJy9wAM7Z7fX7Emra7Vs7qO38VNbmHE05G7+79vNT9sstDaowKeEczHpSu3e7xK1SUN3k4pSlxCcYdXnz8PydcEEdNAyGFgZGwYa0DGAtiIsjtSsEREARFxzVNUy509PHSF9NI1xkn4vwEDYY+uqWIbSydiIiEhU9lxpbZrO6zVM3BEIhjPUuwzYDzVwUHJpShnvMlxqS6bj35Lvw59ff4K8Gle5zcRCpLToymR7bxf76\/FpphR0v9+UZJ+u4HxW+n0gJpGT3mvmr5GjZhcQ0d3r+CsjWhrQ1oAAGAB2LKnX+3YhcMnvUep\/T0NcMMVPGI4Y2xsHRrRgLYiLM6sHLcniO11bycBsDznGceiVGaMZw6agOMcbnnx9Ij5Lq1FUx01grXyHAfE6Md5cMD4rxpeF1PpuiY7qWF\/TscS4fFafJ5nM9+IXcn7ollD3iwuvNVAZqyRlJHkvgb\/iPZ9fqphFRNp3RtOEZrTLBqp6eGkgbBTxtjjYMBrQtq8veyNhfI4Ma0ZLnHACrtfq+Hm\/ZLRCa6qccNIB4Afn8O9SouWCs6kKS6TsTFyulJaabn1cnC3OGtAyXH1AKJ0pU3etjmq7hJxwSYEPE3hPU7gAdN\/rCxbtO1FTUCvv8AMKmcH7uHqxg7x0Ph3dqsQAAwBgBWdkrIzgqlSanLZLC\/JlERZnSEREAREQBERAEREAREQFZ1q8ywUNvaSHVVQBt1IG3xcFZGtaxgY0Ya0YA9QVQu9wpI9bQPrZeCGhjzjgJ9IjI6b9o8vFb33u7353KslK6npycOq5QOnd2eWT4LZxbijgjWiqk3l3sks7f2WCtuNHbojJV1DIhjIBO7vAdSoE6luV1c5ljtjnsH+fKcDyO3vK30mj6NswqbhNLX1B3cZT6JPh18yp9jGRsDI2hjWjAa0YAVbxWNzXTWqZeld2fUrP8ALFyuZa693Rz2g55MP4fgB7lPUFso7bFy6OnZEO0gbu8T1K6kVXJvY0hQhB3S35vdhERVNgiIgCIiAIiIAiIgCIiAIiIDjqLTb6qqbVVFJFLM0YDnNz\/6usAAYAwAiKbkKKTukZREUEhERAEREAREQBERAEREAREQBERAEREB\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "DANIEL FUENTELZAR",
    "nombreContacto": "PATRICIA BACIÁN OLMOS",
    "correoContacto": "patricia.bacian@eplicancabur.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"EPS-I1245\",\"id_control\":\"29018\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1246\",\"id_control\":\"29018\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1247\",\"id_control\":\"29018\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"EPS-I1248\",\"id_control\":\"29018\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:04",
    "ubicacionGPS": "LatLng(lat: 0.0, lng: 0.0)",
    "horaLlegada": "16:00",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 16:03:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 16:03:04 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'EP3091', 1, 9291721, 0, NOW(), 
				'08:00', '16:00', '16:04', 10, 'insumo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781640184.png', '', null, 'COMPLETADO','LatLng(lat: 0.0, lng: 0.0)' )
				
[16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200754
[16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200754', 'EPS-I1245', 1)
				
[16/06/2026 16:03:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29018 and
				    IDproducto = 'EPS-I1245'
				

16/06/2026 16:03:04 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1245';
                [16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200754', 'EPS-I1246', 1)
				
[16/06/2026 16:03:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29018 and
				    IDproducto = 'EPS-I1246'
				

16/06/2026 16:03:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1246';
                [16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200754', 'EPS-I1247', 1)
				
[16/06/2026 16:03:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29018 and
				    IDproducto = 'EPS-I1247'
				

16/06/2026 16:03:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1247';
                [16/06/2026 16:03:04] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200754', 'EPS-I1248', 1)
				
[16/06/2026 16:03:04] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29018 and
				    IDproducto = 'EPS-I1248'
				

16/06/2026 16:03:04 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'EPS-I1248';
                
16/06/2026 16:03:04 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200754'                    
				WHERE idllamado = 13025			
				TO ENVIO: micorreo@miempresa.cl, patricia.bacian@eplicancabur.cl, dsprint@gmail.com


16/06/2026 16:03:05 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13025			
				
16/06/2026 16:03:05 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 16:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:08 - INPUT: {"rutTecnico":"9291721"}
16/06/2026 16:03:08 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 16:03:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:03:08] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:03:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 16:03:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:03:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13025
            GROUP BY l.idllamado;
            

16/06/2026 16:03:10 - INPUT: {"rutTecnico":"9291721"}
[16/06/2026 16:03:10] Llamados.php->getLlamadosByTecnico: RUT: 9291721 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '9291721'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:03:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => DANIEL FUENTELZAR
            [RUTTecnico] => 9291721
            [idllamado] => 12982
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 15:20
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3067
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:03:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13025
                

16/06/2026 16:03:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:03:19 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:25 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:05:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:25 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:05:25] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:05:25 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:25 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:26 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:05:26 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:05:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:05:26] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:05:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:05:26 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12539
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => MANTENCION PREVENTIVA
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 11/05/2026
            [HoraLlamado] => 17:00
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3069
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:40 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:41 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:05:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13034
                

16/06/2026 16:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 16:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

[16/06/2026 16:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:42 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 16:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[16/06/2026 16:06:42] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:42 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:42 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:42 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:43 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:43 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:43 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:43] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:44] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:44 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:45] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:45 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 16:06:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:06:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:47 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:47] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:47 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:48] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:48 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12977
            GROUP BY l.idllamado;
            

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 16:06:49] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:06:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:06:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12977
                

16/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:07:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:08:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                
=========================================
FECHA: 16/06/2026 16:08:09
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-x8zHxk9XNOSp_SzL9nLLzo9Cc88zfG8HOO+6anCdbEkxHSss.FN
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "KY2064",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan insumos\n•Entrega en recepción, sin contador\n•Recibe Solangie Urrutia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13064",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACBAO4DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA7EAABAwMCAggEBQEIAwAAAAABAAIDBAURBiESMRMiQVFxgZGhMmGxwRQVI0LRQxYkMzRyguHwUlVj\/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAIDBAEF\/8QANBEAAgECAwUGBAUFAAAAAAAAAAECAxESITEEEzJRkSJBcYGh0VJhwfAFFCMzsSRTYqLh\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBF5ZIyVvFG9rwCRlpzuvSAIiIAiIgCIiA5zSsp4JJpDhkbS5x+QGVUaYvFXeqWeoqI42MbLwM4Ae7Jzv8AMLjrOvbS2V1M1361UQxrRucZyT9vNWlnt7LZaoKRowWNy897juT6qdkoX5mbFKVfCnkln4smoiKBpCIiAIiIAiIgCIiAIiIAiIgCIiAIi8veyNhfI4Ma0ZLnHACA9LK3q91FxqDZrIDJK88M04+Fg7QD9T6LzW3iu1BUvttkaW04OJqsjAx24Pd7lX1ptNLZ6QQUzdzu955vPef4ViShm9THKUq7wwdo97+i9z5Z7VDaKBlNEAXfE94GOJ3ep6IoN3d2aoxUUorQIiLhIIiIAuVTURUlLLUzO4Y4mlzj8guqy2o5prtdoNP0r+FjsPqiCNhkHHkN\/MKUY3ZVWqbuF1r3eJQumqb9qeiqJ2uZDPKOhaTyja7f6Hfvyv0dZSOCOPXdNAzqx0tLiNo2x1T5dpWrU6jvaxn2ODjjbd3cIiKo2hERAEREAREQBERAEREAREQBFVXLUlstjSJKgSSj+lEQ53n3eapun1HqPanZ+WUTv3nIc4ePM+WApqDebyM89ohF4Y5vki5uuordaWubNMHzAbQs3d593mqdtDeNUPZJc80NA05EDchz\/HP1PkFaWnS9vtThMGmeoG\/SybkH5Ds+quV3Eo8JDdTq\/u5LkvqyPRUVNb6ZtPSxCONvYO0957ypCIqzUkkrIIiIdCIiAIiICLcq+K2UEtXNu2MbNyAXHsAyqfSdFMIJrrVg\/iK53Hv\/AOJ3HbyUS9uN\/wBSU1ljJNPTnpKgj39jjxctWA1jMABrWjwACsfZjbmZY\/q1XLujkvHv6GatP951vdag\/wBNgjHy5Dy+H3WnWY0YDP8AmVwI\/wAzUnB5Zxk8v9y065U4rHdlzp4ubb9QipL5eainqI7bbYulrpxkd0Y7z2KHpavuFXX1rKmrFTFGR1ww44u5p2AHPszy5JgeG517RHeKmjToiKBoCIiAIiIAiIgC+EgDJOAFX3e90dmgD6h2Xu+CJvxO\/wCPmqMUV51G8y3OV9voOXQMOC8fP+T6KajfN6FFSsovDFXf3ryLC4att1I7oaYuragnAjh3Gf8AV\/GVBbbtQ37r3CqNvpjnEMWziD2HH39FMpZdM6fYWxVFO14GHP4uOQ+mT5LjLrWle\/orfRVNZJ2BrcA\/U+ymk1wozSlF\/vT8l93ZYWzTlstYa6KASSjfpZes7Py7vJWqy4q9XXH\/AAKSC3sJOHSfF5g5+if2Trqze6XueVpPWjjyB5Z29lxx+JlkKllalTduheVN3t1Jnp66BhH7S8Z9OaqqnW1ngyI3y1B\/+cePrhdoNIWWHHFTOmcP3SyE+w2VlT26ipP8vSQxfNkYBXOwif8AUS5L19ig\/tjPLg0diq52nt3H0BX38\/1A\/wCDTz2458RP8BadExR5DdVXrUfRGY\/PNSf+g9yn57qMbmwEgc8ErTomJchuZ\/3H6exQW\/VkFVVso6ylloah5IDZT1c92Tjn4c1frK6qeLhdbbaIW8cpk6R5Bxwt8fAE+QUy42K5SV8lbbrvJA+XHFG8ZbsNsY8O7vXXGOT0IQq1FiVsVn4F8oN5uAtdqnqzjiY3DBnm47BUxbrKnaSZKOox4D7BU7q6v1TdaW2VjImRRSl0vQHLTgb75PZkDB7UjTzvfIjU2q0cKi1J6XRotK2t9JQmtqS51XW\/qSF3Znceucn\/AIUjUtX+CsFXIHFrnM4Gkc8u2+6tGtDWhrQAAMADsWYuYdftSwWvh\/udH+tOex57vt5nuXF2pXZOa3VHBHV5Lxf3cs9NUbqKwUsT2Fjy3jcCN8k538sK0dnhPDjONsrzLNFAwyTSMjYP3PcAFmb9rGGmYILW9k87\/wCoN2s\/kriTm8icp09nppSehna6umt9RXU8kPBXzSYkqSd2sIyQ0bkZzzydlo7bqPT1so208VTI454nvMTsvcebvNU9ooNQuE0kNGxklRnpKiraOI752DvDuKso9CieQy3C4Pe925ELA0e\/n2K+WDRs82iq6eKnHqtP4\/glVOubVEP0WzTuPc3hA8c\/wojNXXW4NIttlc7OweSXAewHd2q7odN2m3lroaRrnj98hLj477eiswABgDACqxQWiNyp7RLjnbwX1ZlhbdV1x4qm5x0bSfgi5j0\/lW9ltlVbY5hVV76x0jg4F2er38z\/ANwrNFFzbVi2FCMHiu2\/mwiIoF4REQFFd9LQXSv\/ABoqZIJeEAlozyBwez5eijN0NQFwdPV1cxG+7hjPotMimqkkrXM72ajJuTiVFLpazUoHDRMkcBu6XL8+R29laRwxQt4Yo2Rt7mtAC9oott6lsacIcKsERFwmEREARFznqIaWF008jY42jJc44AQN2zZ0VNfdQw2hohjb09ZJsyFu+D2E\/wAdqr59Q3C7yupNP0zsA4fVSDqt8Owefop9k03Baz+ImeamseOtK\/fB7cZ+vNWYVHORkdWVXs0uvd5czlpyyz0hkuNycZK6c5PEc9GP5P2AV+oFbe7ZbyW1NZGx45sB4neg3WcvWso6ignht9PM5rx0ZqHDha3Pdj5Z54TDKbuN7R2eGG+nU63+5TXmd1ptj8Qx5dVVAd1QBzHh9fVcdGso6GkqbpUyRwCV\/RxmSQZDe71+ihx2vUFPYZuDoKWmdGXSMbjjlB7yM9h5ZC+W+h09T2eOvr5zVTlhd+GEmMHPLA39ThXWWGyMClN1VUks7XzyReV2uLXAx7abpKiQDqkMw3PzJwfZUdqg1DC2pqIoWUZqCXzVdUOHA59vIbk5x9FEo6yjFWa+SkZPUZxT0UMfUZ3F22\/hzV+ywXa+PE98qzFETltLF2fYe5Syggp1K7vq1pbLq\/tmeZb6q+3FsMFVNWubtJUyZ4Gj5Z3x6eC3dqsVDaIQyCIOk\/dK8Zc4\/bwCmUtJT0UDYKaJsUbeTWhdlVOo5ZLQ3bPssaTxPOQREVRsCIiAIiIAiIgCIiAIiIAiIgCIvL3sjYXyODGtGS5xwAgPS8veyNhfI4Ma0ZLnHACzt01rb6MFlGPxcve04YPPt8vVZeee\/wCqJBiKSWMHqtjbwxtPidvUq2NJvN5IxVdthF4Ydp\/I1Vbq2LpDT2qnfXz97R1B88\/98VQVFRTVUwqdR3Hp3MPUoqQhwA\/1A4Hrn5qfQaQrnwCO4134emwOKCnOOL5uOMZ+e6kNn0lYh+n0U0rQN2jpXHz5A+isWFZRM0t7U7VVpL56dO\/zfkeIL3dqqMQ2OxtggGQ10gw37D6roNP324uzdLyWMPOODtG+22By8V8OobzderZrW5kbm7Tzjby7PqpFFp+4yVkNZdrtLM+NweIYzhgcPb0AUXlyXqycVvMs5LoiRR6Ss1Jg\/huncP3THiz5cvZWNTb6Wqon0ckQELxjhZ1ceGFJRVOTebZvjSpxVklYzI0jURgxQX2sjp8ECLJ5Y25ED2X2LQtpZwl76iTHMF4APoFpUXd5LmVflaPwkOitVBbhikpI4jjHEBlx8zupiIot31NCioqyQREXDoREQBERAEREAREQBERAEXOaeGnYXzysiYObnuDR7qirtaWmky2Fz6p47IxhufE\/bKkot6Fc6sKfE7GhUWuuVFbY+krKhkIPIHcnwA3Kx0+ob9dAHU7WW+mcMdK4hrT39d323UCOCy085NXUT3epccdHACGud83Hc+SsVLmYp7b8C83l\/wBZeVetnTzGms9C+okds17gd\/Bo39wos1nvt4DZ71XR0dOD8L3AY\/2jb1OVKpW6hniENst9PaKbYguGXHxJ5+OFIj0ZHO8S3W4VFbIO92Bju3yVK8Y6ZepVhq1uK7\/1XuysjOkbNglzrjO3fOOIfZv1U9l51Fc8C22ptNCQMST9g7xnGfIFXtHZrbQYNNRxRubydw5d6ndTVBzXj4mmGzzStfCv8V9TLjSlbX4debvLP29FFs0eu3sFa0WnbTQEOho4y8cnyDiPjvy8lZooucmXR2enF3tnzeYREUC8IiIAiIgCIiAIiIAiIgCIiAIiIAvhIAyTgBUd5u13p61tFbLb0znMDulcctGdvljzKgjTt7uozeLs5kZ5wQ8sfPGB7FTUMrtmeVd3cYRbfRdSyr9V2igyDUid4GeCHreWeXuq4XfUd5BbbbeKKFzdpp858idvYq4oLBbLaAaelZxgY6R\/WcfM\/ZWS7iitER3dafHKy5L3PyuuoLvUXCSKVlVWSxuLOPhc\/wBD3KZQaRvUzg8wx04I+Kcjby3OV+kIp792skZ1+HU8V5NszNPoqmdJ0tyq562TOSCeFv8APur2kt9HQs4aWlihHe1oBPieZUlFU5SerNsKNOnwoIiKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/2Q==",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROMY FONSECA",
    "correoContacto": "contacto@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29048\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:09",
    "ubicacionGPS": "LatLng(lat: -23.5659074, lng: -70.393429)",
    "horaLlegada": "15:59",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 16:08:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 16:08:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[16/06/2026 16:08:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76148340', 'KY2064', 1, 24456550, 0, NOW(), 
				'08:00', '15:59', '16:09', 10, '•Se entregan insumos
•Entrega en recepción, sin contador
•Recibe Solangie Urrutia', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781640489.png', '', null, 'COMPLETADO','LatLng(lat: -23.5659074, lng: -70.393429)' )
				
[16/06/2026 16:08:09] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200755
[16/06/2026 16:08:09] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200755', 'KYO-I647', 2)
				
[16/06/2026 16:08:09] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29048 and
				    IDproducto = 'KYO-I647'
				

16/06/2026 16:08:09 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'KYO-I647';
                
16/06/2026 16:08:09 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200755'                    
				WHERE idllamado = 13064			
				TO ENVIO: micorreo@miempresa.cl, contacto@colegiosanpatricio.cl, dsprint@gmail.com


16/06/2026 16:08:09 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13064			
				
16/06/2026 16:08:09 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 16:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:08:10 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:08:11 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13064
            GROUP BY l.idllamado;
            

16/06/2026 16:08:11 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

[16/06/2026 16:08:11] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13064
                

16/06/2026 16:08:14 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:14 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:14] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:14 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:16 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

[16/06/2026 16:08:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:08:16] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:16 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [9] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12853
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => RESIDUAL
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 02/06/2026
            [HoraLlamado] => 12:13
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 6508A
            [SerieInternaMaquina] => TO2005
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:21 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:21 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:22 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:22 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:25 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:26 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:26 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:27 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:27 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:33 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:33 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                
=========================================
FECHA: 16/06/2026 16:08:33
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-rvcXABoRyNfB02w4LD_gsd4nT9AzwefKal8O6KO4vIO3rihNQEI
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO2005",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan insumos\n•Entrega en recepción, sin contador\n•Recibe Solangie Urrutia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12853",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCACpASQDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMBAgf\/xAA9EAABAwMCAggEBAMHBQAAAAABAAIDBAURBiESMRMiQVFhcYGRFKGx0SMyQ8EW4fAVJDNCRFJiJTRystL\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAwEQACAQIEAgoCAQUAAAAAAAAAAQIDEQQSITFBURMiMmFxgZGhwdEz4bEUQlLw8f\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFmrhqKrqK11usNOKiVo6853a3y7PU\/NdNUV9Sehs9vz8XWdoIGGb57cjlz7gVZ2m1wWigZTQjfm93a93aVYkoq7Ms5SqTcIOyW7+EUBqL1ZbxQMr65tUyul4HMaNmbgbbf8vktasxXu+N13Q07DtSRF78dhOT\/8+606T4DD6Oavon8ahERVmoIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIDLXGRtLrygnnHDHJF0bHY2yeIc\/M\/NaGvrY7dQzVc35Im8WO89g9TgKNebNT3qj6CYljmniZI0btP28Fhay4VkhZb6+d9VQ0U4bLJDkl4z2knfkcfuroxU7dx51So8M5adrVePeabSNE97Ki9VOTPWuJaT2Nzv7n5ALSqqtt9s1TCyGlqo4wxoa2N\/UIAHIA89u5WgIIyDkFQndvU1YdRVNKLueoiKBeEREAREQBERAEREAREQBERAEREARF8OmibK2J0jBI\/PCwuGXY7ggPtERAEREAREQBERAEREAREQBERAERUuoNQx2mMQQATVsu0cQ3xntI\/btXUm3ZEJzjTjmlscNRXmZkrbPbW9JXVAwcfpgj649uasLNZ4bTbW0jQ17nZMriPzk9\/wBFD05ZH0Mbq6uJkuFRvI5xyWA9n3\/kr1Tk0llRTShKT6We\/Bcl98yprNMWetJc+jax5OS6Lqk+2yrJNLV1vBlsl1mjcDnoZXZaf29wtSi4pyRKWHpS1tZ81oZduprjbJRDfLa5jMf9xCMtPj3d3b6K9oLnR3KISUk7ZBjdudxy5j1ClOaHNLXAEEYIPas5ddLRjirbO51HWM6wbGcNf4Y7Pp4LvVl3EGq1PVPMvf8AZpEVZp+5vu1pjqZGhsmeF+ORI7Qig1Z2ZohJTipLZlmiIuEgiIgCIiAIiIAi8JAGScAKluWrLZQDhjlFVMeUcJDt\/E8guqLexCdSFNXk7F2oVwvFBa2F1XUsY7GzAcuPkBuqIHVF9jBHBaoCeeSHkfX6KbQaRt1JL08\/HWTncvnORnvx98qeVLtMo6WpP8cfN\/W5Dde7ze+pZaI08J\/1NQMbd47PbJUq2aWjpKxtfWVctXWDfjcSAD9T\/WyvgABgDAC9XHPgtCUaCbzVHmft6BERQNAREQBERAEREAREQBERAEXGaqpqdzWz1EUTn\/lD3hpd5ZWfueo56qqNssLOmqCcOnG7GDtweXr9VJRbKqlaFNa\/sl32\/i3kUVE3p7hLgMjAzw57T9l5YtPigca2td8RcJd3vdvweA+6+7Hp6G0gzyvNRWSDrzO3x3gffmrlScklaJXCnKcukqeS5fsIiKs0hERAFT6ku7bbbnxxniq5xwxRjcnPM+i53nUsVBKKOjj+LrnHAiZuGnxx9PouNlsE3xX9rXh\/TVzt2tPKLu9R7BWKNutIy1Krm3Tp78Xy\/ZO05bf7LssMDhiR34kmRg8R7D5DA9EVoig3d3NEIKEVFcAiIuEgiIgCKPW19Jboemq52Qs7OI7nyHM+iz0uprjcyYrDbpHDOPiJR1R+3ufRSUWympWhT0e\/LiaSoqYKSEzVMzIoxzc84Cz1Vq509QaSy0T6ybkXuaQ0enP3wvYdKuqphV32tfVyAZ6Piwxvf6eWFPkvVjtUQhFVTxtZyjh62PRqmlFbalMp1JK8nkXv9Iq22C83d7n3q4uihP8Ap6d232+qurdY7da2j4amYHj9Rw4nn1+yqH61hmc6O3W6qq3jubgfLJ7l4avV9ePwKKChYeTn44h75+i61N76FcJUIu8U5Pnv7moXxJNFC3ilkZG3vc4ALNDTt9qh\/fb\/ACM72w5x+30XSPQ9t4uOonqah3bxPAB+Wfmo5Yrdl\/S1n2Yer\/6WM+o7PTHElwiJ7o8v\/wDXKiu1lY25xVPdjuidv7hSINM2WnxwW+J2O2TL\/rlS22u3MxwUFM3HLELRj5J1O8WxD4pepTO11Z25w2odjujG\/uVz\/ju3\/m+DrOj\/AN3A37rRtghZjgiY3HLDQMLouXhyGSv\/AJr0\/ZnGa5s7hk\/EM8HR\/YqdDqeyznDbhG05x18t+Z2Vg+mgkOXwRuP\/ACYCoVRp2z1I\/Et0Az2sbwH3bhLw5C2IWzT8miwY9kjA9jg5p5FpyCvpZWq01V2vNXYauVr2jLqd5yHgY5ew2Puruy3Rt3tsdWGcDj1Xt7A4c8I46XRKFVuWSas\/5J6IqbUN6da4Y6emZ0lbVHghaOw8s+52UUm3ZFk5xhFykfV61DS2hvR\/41U4dSFvM92e5VM\/8T1FDNcKirjt8TIy7oWjrADf07uasbHp5lATWVp+Ir5DxOkeeLg8Ae\/xUbV1e6SOKyUvXqaxwBAd+QZHPz+gKtja9kYqudwc6jtyS+S0sNbPcLLT1VRw9JIDktGBsSOXooepdRts0IihaJKqQHhzyZ4n35KxpoobTaYo5HhkVPEA57jtsNysuad2s7uJxAIbfTnhMpbh8vhn+sLkUnJt7E6s5xpKEX13\/rZU22zXPU9SaueQiMnD539vgB2rfWy10lppRT0jOEc3OO7nHvJUiGGKnhZDCwMjYMNa0bALouTqOXgSw+FjR1esuYRF4SAMk4AVZrPUVJcdWWugBbHL8VNyEcJzv4nkoHxep73xNpqdtspyf8SUEPx4fyA81NQe70M8sRBPLHV9xd3K9UFqZmrnDXYyI27uPoqJ1ZfNTYZQxut1Cec7zhzx4fy91PtelKKhd09V\/faonJklGQD4A\/U7q9XbxjtqRyVavbdlyXy\/orLRYaGzR4p2cUrhh0r93H7eis0RQbbd2aIwjBZYqyCIi4SCIiALMal1WbZI6io4yanALpHjqsz3DtPy81p1xdS0z5umdTxOl\/3lgLvdSi0ndoqrRnKNoOzPzujndWVAqquhrbvU9jHbRt7uQOe3uC0McmraqNraelpLdFjqAgZA8t8e3YtQAAMAYAXqm6l+Bmp4RxWs35ae+5mP4Uq64g3e7zzjOeijOG59dvkrCk0tZqPBbRtkcP8ANKeL67K3RRc5PiXxw9KLva779T5jjZEwMjY1jRyDRgBfSIoF4REQBERAEREARFHra6nt1K6pqpBHG3v5k9w7yhxtJXZyu9xjtdtmq5HY4Rhg7XOPIKv0dROo7BG57A107jLz3IPL5AKuo6eo1ZcPjq6N8dthP4EJ26Tfmfbf2Wnq6uC30clTO7giiGSQPQBWPRZeJlg+kn0r0ilp8s6SyxwRvkleGsY0ucT2Acysxp2KS83Wov1UwFgJZTMOOr4+YGBnxKobtJX3WVtxk44Y6t\/Q0sZcRlu2du76k+GFra25Uel7VBSgmWVjA2KIHrPPee4ZUsrirLdlPTKrPNLSMdfHkd73e4bNTgkdJUSbRQjm4\/ZQLHbH29s96vEjRVTAue536Te7z8vJcLXa5hUv1BqGQMlZuxjz1Yh2H7D91zcajWNSd309ogd+bk6Y\/wBeyJJKy82HOUpKclr\/AGr5Z8k1Ws63hbxwWiB255GU\/f6LWU9PFSwMggjEcbBhrW8gque92SywNpxURtEQ4Www9YjHZtyPmq7+KblcSW2azyPbyEs2w5dvYPdcalLZWROE6dJtyleT3tr5GpVfX3y2W3IqauNrwcFjTxO9huqY2PUNzb\/1K79Ax3OKDy5HGB9VYUGlLRQYIphO8DHHN1vXHL5LlordlnSVp9mNvH6RXHVFyuTyyyWpz2cWOmm\/L+wHuvf4YudzIders5zQT+DANvfYfIrUAADAGAF6me3ZVh\/T5vySb9l6Ir7dY7da2j4amYHj9Rw4nn1+ysERQbb3NEYxirRVgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAii19yo7ZD0tZO2Jp5A83eQ7VnXXG9akcYrbEaGhdsaiQYc4eH8vdSUW9SmpWjB5d3yRaXnUlHafwh+PVO\/LCznnx7vqq2jsVZeqsXK\/5a0H8KkGwA8e7y5ntVnadO0Fnb0jW9LPzdPJz9O5dKzUVpoSWzVsfGObWHjI88clNO2kChxzdau0ly4efMsepHH2MY0eQACyU8j9X3n4WJzxaqU5e8bdI7z+nhuoGodYi40ppKBkkUbj+JI7Ac4dwxyCi0Euoq6hbTW2J8VKOrmJoYDyzlx3z6qcabSuzPWxUKkskbtd3Hu8CZq6vigu1BHRPjJoRswfljcCMD5DbwXKguVptcpuFXLJcrk\/fLR1WHzP1xtjZdKXQdfKQ6rqYoQdyG5e77d6uKXQtrhwZ3zVB7QXcLflv81Jygla5VGliZ1HPKl48DI3y\/1V6ny8mOBp6kIOw8T3lIm3i6sZEGVlTE0ANa3LWN2x5do\/rdfotNZbZRkGChga4cncGT7ndTlHpklZItWAnJuVSe5gaPSd4fv0NLRgjBL+u7HzwfZaWz2Ge3VTqqpuc9XI5nBh2Q0b+Z7lcoq5VJSNdLCU6bugiIqzUEREAREQBERAEREAREQBERAEREAREQBERAEREARcamrp6OLpameOFne9wGVlbprtjSYbVD0jjt00gwPRvM+uPJSjCUtimrXp0l12auoqYKSEzVMzIoxzc84CzFZq6oq3uhstPloODUzdVg8d9h6+yoxZNR3+YT1TJBnk+oPAG+TeYHkFeUWhYWtb\/aFbLPw4xHH1Wjw33+itUYR3dzE62IraU42XMrOlslPN8Zd6192rHAZjjGWN279gR\/WFMdqK\/3ECO02owR4w1\/BxYx4nDR5YWko7HbKDBp6KJrh\/nI4ne53U9cdRcrlkMNUStmt4b+r1MONM6ium9yr+jZueF8hfg\/+I2+asqTQlshwaiSaocDuM8LT6Df5rTIourIsjg6Kd2rvv1K6OwWiLh4LdT9TkSwH681YAADAGAF6ig23uaYxjHsqwREXCQREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFyqKqnpY+kqJo4m973AKovWpLZRwywfFvM5GAKfrOafPkPfKxVPY75eHiUwzPDt+lncQD45O59Mq2NO6u9DFWxeSWWmsz7jX1mtrTTAiEyVL+wMbgepP81Wsv2or7IWWqlbTQk\/4pGcDxcdvYZXa16FZBLHPX1Ikcx3F0UY6pxyyTzHotaAAMAYAXW4R7KuQhDEVdajyrkvsy8OihPI2a7XGarfzLQSB4jJ3+ivaK1UFuGKSkjiOMcQGXH1O6mIq3OT3NVOhTp6xWoREUS4IiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIi4VdZTUMJmqp2QsHa44z5d6HG0ldndfL3sjYXyODGtGS5xwAsrUaymq5nU9koH1Lx+o4H34R+5XzFpe53ZzZ79cH4zkQRnOP2HoCrMlu07GV4nM7Ulm\/j1JldrOggeYaJklbOThojHVJ8+30BUYUGpL6zNdVC30zv0o29Yjx7fc+i0FBa6G2s4aSmZFtguA6zvM8ypaZkuyjvQzn+WXktF9lVbdN2y2NBjpxJKP1ZQHO9O70VqiKDbe5ohCMFaKsERFwkEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQFDebhe\/jPgLVQEOc0O+JfgtA39By7fZQ6bRr6icVF7rpKt\/8Asa448snfHgMLVIpqbSsjPLDxnLNN37uHocaWjpqKLoqWBkLO5jcZXZEUC9JJWQREQ6EREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREB\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROMANES FONSECA",
    "correoContacto": "rfonseca@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "RESIDUAL",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-I635\",\"id_control\":\"29047\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-R877\",\"id_control\":\"28874\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "16:09",
    "ubicacionGPS": "LatLng(lat: -23.565923, lng: -70.3934702)",
    "horaLlegada": "15:59",
    "horaDespacho": "16:09",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 16:08:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 16:08:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[16/06/2026 16:08:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76148340', 'TO2005', 1, 24456550, 0, NOW(), 
				'16:09', '15:59', '16:09', 10, '•Se entregan insumos
•Entrega en recepción, sin contador
•Recibe Solangie Urrutia', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781640513.png', '', null, 'COMPLETADO','LatLng(lat: -23.565923, lng: -70.3934702)' )
				
[16/06/2026 16:08:33] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200756
[16/06/2026 16:08:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200756', 'TOS-I635', 2)
				
[16/06/2026 16:08:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29047 and
				    IDproducto = 'TOS-I635'
				

16/06/2026 16:08:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I635';
                [16/06/2026 16:08:33] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200756', 'TOS-R877', 1)
				
[16/06/2026 16:08:33] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 28874 and
				    IDproducto = 'TOS-R877'
				

16/06/2026 16:08:33 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'TOS-R877';
                
16/06/2026 16:08:33 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200756'                    
				WHERE idllamado = 12853			
				TO ENVIO: micorreo@miempresa.cl, rfonseca@colegiosanpatricio.cl, dsprint@gmail.com


16/06/2026 16:08:33 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12853			
				
16/06/2026 16:08:33 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 16:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:34 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:34 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:35 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:35 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

[16/06/2026 16:08:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

[16/06/2026 16:08:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:35 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:35 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

[16/06/2026 16:08:35] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:35 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:35 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:36 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12853
            GROUP BY l.idllamado;
            

16/06/2026 16:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:36 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12853
                

16/06/2026 16:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:37 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:37 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:37 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:37 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:37] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:37 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:37 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:38 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

[16/06/2026 16:08:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:39 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:39 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:39 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:08:39] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:08:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13065
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 13:01
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76148340
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => STUDIO 2000AC
            [SerieInternaMaquina] => TO1953
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:40 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:44 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:44 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:45 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:45 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:52 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:52 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:58 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:08:58 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:08:59 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                
=========================================
FECHA: 16/06/2026 16:09:00
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-dmuCn6IfHvTdL3gcbGSd2BAWbyBGys-8+h2Eeq7-uqCZ4ZG+CVr
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76148340",
    "serieinterna": "TO1953",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "0",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se entregan insumos\n•Entrega en recepción, sin contador\n•Recibe Solangie Urrutia",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13065",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC5AQ8DASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA9EAABBAEBBgMGBAUCBgMAAAABAAIDBAURBhIhMUFhUXGBExQiMpGxQqHB0RUjM1LhYoIWJDRDY\/GSovD\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAgMEAQX\/xAAvEQACAQIDBQcEAwEAAAAAAAAAAQIDERIhMQQTQVHRIjJhcYGRoRSxwfAjJEIz\/9oADAMBAAIRAxEAPwD9mREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQHG3YbUpzWHEBsTC869hqoOz2Rs5XEsuWmRsc9zgBGCBoDp1J66qFtpbMWHbUjd\/NtyBjWg6EgcT+g9Vb4ykMdja9Te3jEwAkdT1\/NTslC5nUnKvhWiXyyUiIoGgIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIo+Qtto4+e07lEwu5a6nompxtJXZnJQcvt4xmhMOOZqTu\/i59e5H09Vq1m9i6b2Y6XIz7xnuyFznO6gE\/cklaRTnrbkZ9mTwY3rLPp8BERQNIREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAFlNsLbrVipgq5\/mWHtdIQNdBroP1PoFpbdqKlVkszkiOJu84garEbMNlzW1E2TnGoj1kPUAng0eg+ytprWXIxbVO+GitZfbibmGJleCOGMaMjaGtHYDRdERVG3QIiIAiIgCIolfKUrVqStXnEskfz7gJA59eXRLHHJJ2bJaIiHQiIgCIiAIiIAiIgCIiAIvJc1pAc4Anlqea9IAiIgCIiAIiIAiIgCIqTaXMPx9ZlWqC67bO5CG828hr+fBdSbdkQqTVOLkyj2sybsnNJj6rta1RpknkA4b41Abr4a6DzPZW+xdEVcE2Y\/PZcXnj05D7a+qqMtjf4Rs3WxsfG1fnb7ZxOup05ajoDp+a2deFtatFAz5YmBjfIDRXTaULIw0ISlXc5629r8PY6IiKg9EIiIAo929Wx9d09qZsbB1PM9gOqgZvaKnhoiHOEtkj4YQePmfALJ1qGV2wu+92nmOq1xG9+Fo8Gjr5qyMLq7yRkrbTheCmry\/dSRdzWT2otHH4mN0Vf8TtdCR4uPQdvutPgsFXwlUsYfaTP4ySkaE9h2UrHY2ri6or1I9xg4k8y4+JKlJKd1aOh2jQcXvKjvL7eQREVZqCIiAIiIAiIgCKqyu0WOxLXNmmD5gOELOLvXw9VTmHaHaX4pX\/wyi\/kwfM4fc+ugU1BvN5IzzrxTwxV3yX55FnlNqcdjCYw\/wB4n5eyi46HueQ+6r\/b7V5j4oIosbA7kX\/Np9CfyCuMXgMdiWD3eAGXTjK\/i4+vT0Vku4orREd1Vqf9JW8F1M5W2QYJ2Wb+Rs252PD2knRoIOvI6rRoii5OWpdTpQpq0UERFEsCIiAIiIAiL45wa0ucQABqSeiAi5PIQ4uhJcn1LWDg0c3E8gFSbO42a5akz2SYDLOd6u0nX2beh+mmn+VGha\/a\/Miy9hGKqHdDHH+o7y9R6ea1zWhrQ1oAAGgA6Kx9hW4mSH888b7q08Xz6GYv65DbilWJHs6kftSOfHnr9d1ahZjFgz7dZSckaRxCMA\/7Rw\/+J+q065PgiWz54pc2\/jIIi4XLtehWdZtSCONnMn7DxUDQ2krs7EgDUnQBZDP7ZiN7qmJLZH8jOOIB\/wBPj5qsy2fyG0dk0MdFIIHHhGz5pB4uPQduS0Gz+yUGLLbNotntcxw+GM9vE91eoqCvL2POlWqbQ8FHJcX0KvBbIzW5BfzBcWv+L2TiS9+vVx6fdbSKKOGJsUTAxjBo1rRoAF7RVym5PM10aEKKtEIiKBeEREAREQBEVNmtpK+KIrxMNm4\/g2FnHQ9\/2XUm3ZEJzjTjikyyt3K1Cu6e1M2KNv4nfYeJ7LNOy2Z2hkMeHiNSnruusycHHx0\/x9QulLZ23lJxkNoZDI7nHWB0awd\/2+pWmYxkbAyNoY1o0DWjQBT7MfFme1Str2Y\/L6FRidmKGLcJiDYtczNJz18QOn37q5RFBtvNmiFOMFaKsEUSbKY+tqJrteMjmHSAH6KDJtZg4+d4E\/6WOP6Lqi3ojkqtOOskvUuUVE3bLBk6G04dzE79lYVMvjrxDa12GRx\/CHaO+h4o4yWqORrU5O0ZJ+pNREUS0IvEs0cETpZntjjYNXOcdAAvTXBzQ5pBBGoI6oLn1F8c4NaXOIAA1JPRZW1kL+0tx9HDymCnHwms\/wB3Yf8A7ipRjcqq1VT8W9EScvtbBSkdWoxG5ZaDvBvys0566c1Qx5fM7Us\/hbQxm+\/fkkZwDWaAaHtrx7rxeZA17MBgm+0e46WbGvGQjmCf7RzPRXFDIYLZaiYBbFqw7QyGEbxcfAHkAOPAnxV9lFZLM8xznVm8c7R48vLxNHSpV8fVZWrRhkbBwHj3PdSFlhtJmcjwxWGcGk8JZ+XPTsPzK+\/wnabIf9blm1Y3HXcgHEduGnfqVVgf+mblXja1OLfpZfJzxF2tS2jzT7c8UDTIA0vIbrxP1VhPtjhYdd2y6YjmI2H7nQFZz+DY3EbSsqZR3ta0kO+2SRxb8XfQ8OIPj0U+5m8FRj9lhaMFi246MLYOAPnpqfRWOKb5mOFacINNpWb8WdZtvqTD\/JpTvHQvIbr91m57l3aXKQMtziGOV5bFvD4GeXieS+ysc+97TIF16\/IRu1YzqB2cRy0\/tH5LV4LZ58MrcjkQPetAI4mgNbCOg0Cl2aauilb7aZYZPL916FliMJTw0BZXbq93zyu+Z3+OysURZm23dntRjGCwxVkERFwkEREAREQBeXvZGwvkcGNaNS5x0AUXJ5SpiapsW37o5NaOLnHwAWciqZLa1\/t7rn1MZqDHCDxePH\/J9FOMb5vQoqVsLwRV5cup2u5+5l53UNnmb2g0lsngG8+Xh5\/RWWF2dq4cGXUz2nj45n8++ngurpcVs5RbGXx1ohybzc4+OnMlU52lymW348HjHFoOnvEpAA9OWvqfJTzatHJFF4Qliqu8uS4eS\/JqHvZGwvkcGNaNS5x0AVHc2wxld4ire0uzO4NbANRr4a\/tqordk7WQkbPnMlJYcB\/Sj4Nb6\/sAryjiaGNaBUqxxkDTf01cfM81G0FrmWYq89FhXjm\/Yojc2qyw1q1YsdERqHS8Xaeo\/QL7\/wAJW7p3spmp5gebI+A9NeHU9FqETG1pkd+mi++2\/X8IooNjcJCPirvmPjJIf00CnR4PExfLjavDqYgfup6KLlJ8SyNGlHSK9iKcXjiNDQrEH\/wt\/ZVWR2Rx1mJzqcfulkDVj4yQNe4\/ZX6g5m+3G4mxac7RzWEM7uPAfmkZSvkcqU6Ti3JKxE2XyM2SxAfZ1M0TzG5xGm9ppx\/NXKpNkKZqbPQ73B05Mp4ac+X5AKr2u2kbFD7hj5wZH\/1nsOu6PAHxKk44ptIpjW3WzqdTWx8vyzbXZMUKby3HVnazTD8Z7ePb6rVsZBSqtY3dihiaANToGgdyshirGXbSbUwWKNeEHV1iyeLyR82h07cteigZ3E32S1YLuRdbu2X6Nj1O4weOp6egVjjd4b2RnjWcIuphbb46LyR32k2mZfs\/w+vI8Uw7dlfEAXS8eQ48vuox2jsTVG4jDUhWjkG4A070jvHj4lSJjBB7LC4CGOa44ATW28SDpx3XdPMcvNaPAbN18LHvnSW04fFIR8vZvb7qTcYx0KowrVqjtLzfLwRT4\/YJu6H5C27Uj4ooRpp\/uPP6LRUsFi8eP+Wpxtd\/e4bzvqeKsEVEpylqz0aezUqfdiERFA0GN2wz1J8bsfFDHYma4tfI7lGeGoHXX9lWYXD3cm0NqsdVrvH862\/5pOw7dh6nktnHs\/i47T7PurXyvdvkyHeAPiAfNWSu3ijG0Tz3skqlRzqv0XUr8VhKOIhDK0Xx\/ildxc716eQVgiKptvNm6MYxVoqyCIi4SCIiAIiIAqrN56vh4dP6tp\/CKFvMnv4BQ9p9pThmtrV2b1mRuoc4fCwePcrNYnG569b99iiLJnne97sDl5A\/cD6K6FPLFLQwV9qalu6au\/sWQrMrzjMbU2Gvm03oagG9ujXw9eX1K7jK57PncxNb3Gry9vJzI7f4181YUNk6VeY2bjnXrLjqXzcRr5dfVXgAA0A0ASU15ins87Zuy+X5voUNDZCjA\/295z79knVz5iSCfLr66q9YxkbAyNoY1o0DWjQBekVTk3qa4UoU1aKsERFwsCIiAIol\/J08bF7S3YZEOgJ4u8hzKoX7TZHKB7MHj3CMc7M5Aa3x7fmfJSUGympXhB2bz5LU0s88NaIyzysijbzc86ALBZ\/My53Jx1qML7NSFwIY1p\/mO8T106fVQoqF\/aHLmIWzaLf6tg67jB2\/Tlr5cV+iY\/H18ZUZWrRhrWjidOLj4lW2VPPVmPFU2tNLsx+5js3BmXYp1rLWo6sIAbHUgHN3QEcu\/M8AVb7K7PV6mOjtWYGvszgP+NoO4OYA8DyJ\/wALjl4xmtramMdqYKrPazN5g9dD\/wDUcfH66G9kKmNgM1udsTOmvN3YDquSk8KS4naVKG9lUlosrv56EgkAak6ALDZtke0+dZDit6R8bN2Wcn+W1vbtxPn0UuW3ktrXmvTY+pjNSHzu5vHh\/geq0eNxdXE1RXqx7rfxOPzPPiSuL+PPiTn\/AGuyu7z5+XU5YfCVMLW9nXG892ntJHc3H9B2ViiKttt3ZsjGMFhisgiIuEgiIgCIiAIiIAiIgCIiAIiIDjLVrzyMklgjkez5XOaCW+X0C7IiHLIIiIdCIiAIuVmzBTgdPYlbFGwalzjoFmZs5ks7MauBidFADo+28aaeXh9\/JSjFspqVo08nm+XEv8hlqOLYHXLLIteTebj5AcVSHMZjNncw1T3aueHvU4+w\/wDfopGN2Ro1H+3tk3bBOpfLxbr5fvqrDK5aphqhlsOAOmjI283HwA\/VSWFO0c2VS3kliqPCvDX36FSzZjG0muv5i0+3I0bz5J3fD9OZ8uKhma9tW\/3Sgz3PExu3XPA0Mg8P8fVVNzLty1htnLPcYW\/0aMB4nhzJ6efPstjs9YuWKRNnHsoxtIEMbeHw+SsleKu9TLTdOrLBDKPy\/N8PuTqNGtjara1WMMjb9SfEnqVIRFn1PUSSVkZi7h8xXzVm\/ipY9bTQ1xc0ax\/U8eQ6deS609lA+f3vNWTfsa8Gkncb+\/5DstEinvHYz\/TU8V3n4cPY8sYyNgZG0Ma0aBrRoAvSIoGkIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqTMbT1cZJ7tCw27ZOgijPynv+yhZXL28rddh8GeI4T2QeDByIB\/X6KXRx+I2Xg9pPYjE7h8U0pAc7x3Rz07BWKKWvsZJVZTbVN2S1fQhQ4HI5udtraCXdiHFlSM6Aefh9de600UUVeFscTGxxsGga0aABZfIbeVYvgoV3TnT53ndaD5cz+ShQ19oNrCH2pfdaJ4\/CNGu8hzd68FNxk85ZIphWpQeGl2pP8AdS0zW2FamTXx+lqyeALeLGn05nsFR1dmMznLJt5KR0AeeL5h8Z7BvT8lscZhKGJja2tA32gHGVw1e71\/ZWCjjUe6TezSrO9Z+i0KvF7O47EgOgh35R\/3ZOLvTw9FaIirbbzZshCMFaKsgiIuEgiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiALzIwSRujJIDgRqOYXmeeGtEZZ5WRRt5uedAFnbO15sTmrhKT7s395BDB3056fRSjFvQqqVYU+8yO7ZaeiyV7toJKtYuLnEat148NTvKl90q2bvscPDPk5x801g\/wAtvfTh+Z07FX0Oy9zJzC1n7jpDrqK8bvhb216en1Wkq1K9KAQ1oWQxj8LBp69z3Vu8txuYVsu8\/wA4V7vojP4XY2rS3bF8Ns2Oe7p8DD5dfVaUAAaAaAL6iqlJyd2b6dKFJWggiIolgREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBQ5Ha+hjrslOSGy+VnD4GDQn1IUT+PZzJu3MXijDG4HSabj5HoB+a1KKalFcDPKlUk855eC\/Jl4dk57r2z5zIS2njj7JriGj1\/YBaKtUr0oRDWhZExo0AaNP\/a7IuOTepOnRhTzis+fEIiKJaEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQH\/\/Z",
    "razonSocial": "SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "ROMY FONSECA",
    "correoContacto": "contacto@colegiosanpatricio.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "15",
    "otraFalla": "Sin otrafalla definida",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"TOS-R873\",\"id_control\":\"29049\",\"cantidad_usada\":2,\"cantidad_asignada\":2},{\"id_inventario\":\"TOS-I255\",\"id_control\":\"29049\",\"cantidad_usada\":2,\"cantidad_asignada\":2}]",
    "horaSalida": "16:09",
    "ubicacionGPS": "LatLng(lat: -23.5659425, lng: -70.3934722)",
    "horaLlegada": "15:59",
    "horaDespacho": "16:09",
    "idMovimientoMaquina": "10",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 16:09:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 16:09:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76148340

[16/06/2026 16:09:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76148340', 'TO1953', 1, 24456550, 0, NOW(), 
				'16:09', '15:59', '16:09', 10, '•Se entregan insumos
•Entrega en recepción, sin contador
•Recibe Solangie Urrutia', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781640540.png', '', null, 'COMPLETADO','LatLng(lat: -23.5659425, lng: -70.3934722)' )
				
[16/06/2026 16:09:00] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200757
[16/06/2026 16:09:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200757', 'TOS-R873', 2)
				
[16/06/2026 16:09:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29049 and
				    IDproducto = 'TOS-R873'
				

16/06/2026 16:09:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-R873';
                [16/06/2026 16:09:00] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200757', 'TOS-I255', 2)
				
[16/06/2026 16:09:00] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 2
				WHERE
				    IDcontrol = 29049 and
				    IDproducto = 'TOS-I255'
				

16/06/2026 16:09:00 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 2)
                WHERE ID = 'TOS-I255';
                
16/06/2026 16:09:00 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200757'                    
				WHERE idllamado = 13065			
				TO ENVIO: micorreo@miempresa.cl, contacto@colegiosanpatricio.cl, dsprint@gmail.com


16/06/2026 16:09:00 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13065			
				
16/06/2026 16:09:00 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 16:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:05 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:09:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:05 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:09:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:05 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:09:05] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:05 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:05 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:05 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 16:09:06] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:06 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13065
            GROUP BY l.idllamado;
            

16/06/2026 16:09:06 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:06 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:07 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13065
                

16/06/2026 16:09:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:32 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                
=========================================
FECHA: 16/06/2026 16:09:47
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-FfM+bFEGqFuK2.RvnpSTKPHIQksdN6vblpMkDuv_Ai.DS6d.EzG
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "61980920",
    "serieinterna": "TO3069",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "21773342",
    "contador": "73394",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "Mantenimiento, ajustes, limpieza",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "12539",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCADDARsDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xAA6EAABAwMBBQUGBQMEAwAAAAABAAIDBAURIQYSMUFRExQiYXEygZGhscEVIzPR8EJi4QdScpJTovH\/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX\/xAAtEQACAgEDAgMHBQEAAAAAAAAAAQIRAxIhMUFRBGHREyJxgZGhsRQyweHwI\/\/aAAwDAQACEQMRAD8A\/ZkREAREQBERAEREAREQBERAEREAREQBERAEREAUOjp6uCoqnVFX28Ur96FhbgxjmM8+Xw81MRTZDVtMIiKCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIvLt7cO5jexpnhlAekUW2x1sVE1twnZNUZJc5jcDjoOX0UpGQnasIiISEREAREQBERAEREAREQBERAEUetrqa307p6qZsbBzPE+QHNZl9RddrHmOj3qK15w6V2jpOv\/AM4dSrRje\/QxyZlB6Vu+xLum07hUm32aHvlWdC4atZ+\/0V1b2VbKGJtdIySpA\/McwYBK52u00lpphDSxgHHiefaeepKmpJrhEY4TvVN79uiCIiqbhERAEREAREQBERAEREAREQBERAEREAREQBERAF5c5rGlz3BrRxJOAFS3e+1NHXCkoaTvL2M7Sbj4G6+mvA8eRVZW3SLaO5Wu3wPc2mnBlmbnU4z4Dg\/2n4hXUG9zmn4mEbS54NNR3Gjr2l1JUxzAHB3T\/OqkrLXeyPtTo7pY4+ydTj82FmfzG\/fz\/wAK8tN0p7vQtqoDjOj2Hix3MI4qrXBbHlblons\/z8CaiLi6rp21baR0zBO5u+2MnxEdcKhs2lydkReXvZGwvkcGNaMlzjgBCT0qa87R01r\/ACImmprH6MhZrg+fT04qjlu94ud4rKSyVBmgeABK5m6Ihzwfjrx6K9suzlJaPztZ6tw8Uz+OeeOi00qO8jj9tPNtiVLv6dyvo9n6u7Tiv2heXuH6dM04a0ef7fFaZjGRsDI2hjWjAa0YAXpFWUmzfHijjW3PfqERFU1CIiAIiIAiIgCIiAIiIAiIgCIiAIiIAihi6Upuptgc7vAZvkFpAxpz58eXQqYpqiFJPgg3W7UtnpRUVW\/uudutDBkk4J+yhXTaRtDUspaSilrqh7A\/cjz7JzroD5cuartv2E26lf8A0tlIz5kf4K97GUM5ZNdqp28+oaGREnLtxun2A9y1UYqGpnDPNklneGO3G50qdrHP3KeipXMrTKG9jUjd3hnkRof55Zs7Xeqa5W81YPZmMHtWO4sIGqr9s2iO1R1jABNBK3cfgbwB4gH4fBdqjZ6lucrK4SS0zp4x3hsLsCYEDQqKi4kqWZZGruvkR9nGd\/utffCxzBMezjDs53cN14AcAOv70tBSi3f6gNgIwxr3buXZ0cw7vH1AW5pqaKjp2U8DAyOMYa0LKbTsNLtTaq4DAcWtJLuOHa6ejlaMrbXkZ5sWjHGT5TTfze5sFkbpbqvZyvfebS3epnnNRT8gOvp9PRa5fCARgjIKyjLSduXEsi7NcPsRLZc6a7Ubammflp0c08WHoV2fSU8lVHVPhYZ4wQyQjxNB46qJQWWhtE9TU0wMfbauaXeFgHQcgquv2ofUTGhsMJrKlw1lA8DP39Tp6qdNv3SjyaIL2vPl1+Bb3O70Vog7Wrl3SfZY3Vz\/AEH8CzzILrta9slVmjted5sY9qQff14dApts2Va2fv8AeJe+1jjkh2rG\/v8AQdNFolNqPHJTRPNvk2j29fQj0VFTW+mbT0sQjjbyHM9T1KkIizOpJJUgiIhIREQBERAEREAREQBERAEREAREQBFGuFY232+erc3fELC7dzjJ5BcbLdG3i2srBF2RcSCze3sEHrgKadWU1x1aL3Jc88dNBJPM7cjjaXOd0AXmlqoa2mZU07i+KQZa4tLc+46qk23qHwbPlrHEdtK2N2OmCfsrukpmUdJFTRgBkTA0YHQKa92yim3lcOiX5M7eW9w2ytVazTvP5Lx15ZP\/AGHwC1Cx2273PrrfHA49vCHy4aMkDQ72PLcK0trudPdaNs8DwTjD2c2O5ghWknpTMcM0s04ed\/bcibU0jazZ+paS1pjAkaXHAyPP4j3qPsXURzbOxRNPjgc5rx6uLh8iue1taZIYrLTHNVWOAwD7Lc8\/Uj6rydnq20ysqbJOC4RhskMp8MmG8fUkDphWX7KZSTf6hzgrpUz1ty9rNn908XzNaPXU\/ZX9PGYqaKM8WMDT7gswaC\/XyrpxeKaCnpYH7xbG4ZcevF3D3cea1arLZJGuG5ZJZKpbLcLhUUVNVvifUQRyuiOWF7QcH3\/zQLuizOlpPZhRa+40lspzPVzCNvIc3HoBzVbeNpYaCXudGzvdc44ETckNPnjn5fRRbfs3NXTi47QPM859mnJ8DB0P7cPVXUdrkc88zb0Ylb+y\/wB2IwZdNr3gyh9DaxqAPal\/f6eq0tBbqS2U4gpIRG3mebj1J5qS1oa0NaAABgAcl9SUr2XBbHhUHqe8u4REVDcIiIAiIgCIiAIi8SzRQMMk0jI2Di57gAgPaLhS1lNXRdrSzNlZnG80ruhCaatBFznnjpoHzTPDI2DLnE4wFwqbpQUlIKqaqiELhlrg4Hf\/AOOOPuU02Q5RXLJaLLy7XVT4nVdHaJpaJmd6V2RnH881oKCtjuFFFVxAhkjcgO4jyKlxa5M8eeGR1FkhERVNgiIgMttRdq+Gv\/CaRkD21VMciTQt9rJByBwHxCkbESRv2ea1vtMlcH+vH6ELM7Wvkk2iqJHRkMga1oPLhkenFW+xEzo6qspDvuY9rZo3EHGPf1yPgV0yj\/zPIx5W\/Fu\/Nf76EvbotFppjICWCqbvAf8AF32zzC0jnBrS5xAAGSTyUS626O60L6WRxZk5a7jgjqOY8ln6mi2prqb8LmFPHT4a11S04LxpkHXPy1wslUklZ2ScseSUlG7rjyPdhBvF\/q745pELPyqcFuMjhn4fVTKvZaGSolqbfVz2+aUeIwnw5znOBjz5q0oKGG3UcdLAMNYOOAC48ycKSoc3exaHh46KmrfPzZUWfZ+G1yyVEkzqqqk4zyDxY58yrdEVW23bNoQjBaYoIiiXG50lqpjUVcm63gGjVzj0A5qErLSkoq2SXvZGwvkcGNaMlzjgBZarvldfal1vsLSyMfqVZyMDy6fX0XNkNy2vlbLU71Jag7LYx7Unn5+vBaiko6egpmU9NEI42DQD6nqVptDnk5Lnn\/btH7v0RBs1gpLNHmMdrUOHjnePEfToFaoio227Z1QhGC0xVIIiKCwREQBERAEREAREQGffd6ih2pkpK2YCjkhL4stADcDJJPE+y75KBaqabai4S3Ste\/uUbtyGDgDz19NNeZ9MLj\/qD2W\/QjH5uH5P9un3ytZbhTi203dWhsHZN7MA50wtm6imup50U8maWOTtRd\/X0M5dKRmzNxprpQtMdNI8Q1ELBpjqB7j71qwQRkHIKptroRNs3VdWbrhp0cPspNqqoxs9S1MrmsY2naXuzoMDX6Kr3imb46x5ZQXFX6nPaStp6Ox1PeCCZWFjGHGXOI0x6cVmtkrVBdw+a4SPnFKRGynd7LRx1+enqptBHJtVeTcanIoKN+KZm7gPOePyGfcFEnr5rLtXco6GETyVTQWRt18ZwcnHTLjhaRVJxXJyZJKU45pL3ePj5\/U11ZNRUNA\/vD2QU4YWnlgdAB9lidn62+TW59vtMDABIXOqHYAYDyxw+qtY7CexddtpJ3TyRNMhgLvAznjjr6DT1UnYumfHa5at7Nzvcpe1v9vD91CqMX1Ly15csU\/dVP41\/ByfYLtSwtrYrrNNWxt8TCcteM5IBOdfUHpw4W9musd4oBUMbuPB3ZGZ9l3RWCzNARQba1lHF4YqqMSlvLe458uJ+KpepOzfSsMo6eHt6M0yIizOsob5sw271HeI6p0D3NDJBughzRqOh4gc+SsLPbvwm2x0fbum7PPiIxxOdByU5FZybVGUcMIzc0t2ERFU1CIiAIizVz2lkmqPw2xNFRVuJBkGrWeY5H14eqtGLlwZ5MscauROve0FNaI9wfnVbtGQN1OTwJ6BV9u2eqbhVC57QESyH9OmOrWDzH2+Kl2XZuO3yGsrJO9V7zl0rtQ0+Wfr9FeKzko7RMI45ZXqy8dF6nwAAYAwAvqIszrCIiAIiIAiIgCIiAIiIAiIgMjf6Vtx2yo6KXBZJSPwDwDsSYPxA+CmbF1ZktUlFJpLRyFhbjGASSPnn4KzltFPNeYLq58gngYWNaCN0jxcRjP9R5qkkP4Pty129uwXJoBAGm\/w+Ocf9lteqOk89weLL7V9XXydV9y12mcG7OVpP\/jx8wsxBPUXujt9hoi9sLI2urJMYwOOP5xOFe7ay9ns5K3IHavY3jx1z9lbW+AU9vpo93DmQsYcjB0HBRF6Y2WyY3lzuN0qV\/Xgr7nBcKO2U9DY4WAfpl5dgxj\/AHefPJ4qguVmbs0Lbc2SukkjnxUvJJL866DpgOHnlbhQL5Q\/iNmqaUDL3Mywf3DUfMKIzp0XzeHUouS5XHlXYrtqYay5UlJRUTHuiqpR2sjW5a1vEE+XP3K8hiZTwRwxjDI2hrR5AYVTsnWGt2fgLnbz4cxOz5cPkQrGtuFJboDNVzsibyydXeQHNRK\/2l8elr218pfIkrL29zbntnPX0rg6ngi7Jz+rvJcn1122okMNvY6itxJDqh41eOB9fQe8rQ2y2U9qo201M3AGrnEDLz1KmtC35KavbyTivdTu+\/wJiIizOsIiIAiIgC41VXT0UDp6mVsUbeLnFQrxfqKzQ707t+UjwQtPid+w81T0lor9oKhtffCY6YHMVGMjTz6fX0V1Ha3wc+TNT0QVy\/HxPD6q6bWymGiDqK2A4fMfak8v8D3laG12qktFKIKWPH+959p56kqVFFHDE2KJgYxgw1rRgAL2kpXsuCceHS9cncu\/oERFQ3CIiAIiIAiIgCIiAIiIAiIgCIiAKg2xo3T2bvMR3ZqN4la4DXHA\/Y+5X65zRsmgkik9h7S12uNCNVaLp2Z5Ya4OPcyFTXDaK7WSmblzA0TzYbjXmP8A1PxWzWG2Egg\/E62Tea58TA2PzBJyR8B8VuVfLs6RzeDblB5Jcv8AjYLy97I2F8jgxrRkuccAKmue09LQ1Hc6eN9ZWE4EUWuD0JUBliud+d298qXww5yyli0x6\/w+5VUOr2NZZ99ONW\/t82VFsuNbTXCvt9iYyoE8pdE8nRjQTrrpzGp6c1fUWyoklFXe6h1dUHXccTuM8vP5DyUW8UNPYK62V9HH2UMbxE8Nxkg9TxOQXfwLWq859Y9Tm8PgVuOTeunTfc8sYyNgZG0Ma0YDWjAC9IixPRCIiAIi8SyxwROlme2ONgy5zjgAIOD2s9dtonipFtszBVVrzguGrYvXln5Dn0USru9ftFUPoLK0x0ud2WrcMaeXT6nyV3Z7JSWWn7OBu9I4eOVw8Tj9h5LSlHeXJyPJLM9OPZd\/T1IVn2aZSTd\/uL+917jvF7jkMPl5+fwV8iKjk27ZvjxxxqooIiKDQIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCp9qa40FgqHtcQ+Udkwg41PH5ZVwsnfe1u+1VFa4SAymxLKTwHP6Y+KvBXI5\/EyccbS5ey+ZAZRHZWttVc9rgyZm5Ukk6OPH4AjT+1btVe0dD+IWKphDcva3tGaZO83XT14e9eNmbiLlZIXufvSxjs5M8cj9xgq0nqjqM8MVhyPGuHuvwyZSWuhoZHy01MyOSQkufxJz5n6KWiLJuzrUVFUkVe0dCbhY6iJpdvsb2jA3mRy9\/D3ps5X\/iNjp5j7bW9m\/XOo0+fH3q0VBYaGqtVzr6PsC2hkd20DwdG5ON34Y+HmrreLRhJOOZSXD2f8F+iIqHQERVN62gprOwMI7aqf+nA3ic8CegUpNukUnOMI6pPYmXC40tspTUVcgYwcBzcegHVZqKC5bXTierLqW1NdlkQ0Mn7+vDou9vsFVdKkXPaA778fl0v9LR5j7fFacAAYAwAr2occnPpln3ntHt3+Pocqalgo6dsFNE2KJnBrV2RFmdSSSpBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAqygszKG51teZjLJVOyMtxuDp5\/4Cs0UptFXBSab6BZeiAsG1ctGfDS3Eb8PRr+n1HwWoVBtfb3VVq73DpPRHtWOHEDTe+gPuVoPen1MfEJ6dceY7+v2L9FDtNd+I2uCqIAc9vjA5OGhHxUxVap0bxkpJNdQiIoJCLnPUQ0sLpp5GxxtGS5xwAsvPdbptJM+lsrHU9INJKp4wT6dPQa+itGLZjkzRx7cvsTLztBKypFstDBUVzzhxGrYvXz+i6WTZxlA\/vta\/vVe\/V0jtdw+X7qVZ7HSWaEthBfK\/wDUmf7Tj9h5KyUuSSqJSGJylry89F0X9+YREVDpCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgC8vY2SN0b2hzXAhwPML0iApNmrdW2qOrpKhre7iXep3B2SQePpy+au0RS3bspjgscVFdAoF2vNHZ6ftal\/iIO5GPaefL91X3naVtJN3C3RGqr3ndDWjLWnz6+nrnC8WrZp\/ePxG9SCrrHahrtWx\/bPyCuopK5GM8zk9GLd9+i\/siQ2y47T1Dau779NRNw6KmacF3r09Tr0wtTDDHTwshhYGRsGGtaNAF0RVlJsviwrHvy3ywiIqmwREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREAREQBERAEREBxZS08VRJURwsbLLjfeG6ux1K7IiEJJcBERCQiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgP\/9k=",
    "razonSocial": "SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR",
    "nombreTecnico": "EFRAIN PACHA",
    "nombreContacto": "EFRAIN PACHA",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "dsprint@gmail.com",
    "tipo": "WHATSAPP",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-1",
    "otraFalla": "Sin otrafalla definida",
    "codError": "MANTENCION PREVENTIVA",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[]",
    "horaSalida": "16:10",
    "ubicacionGPS": "LatLng(lat: -22.4602105, lng: -68.9343739)",
    "horaLlegada": "15:53",
    "horaDespacho": "15:40",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 16:09:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 16:09:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:61980920

[16/06/2026 16:09:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('61980920', 'TO3069', 1, 21773342, 73394, NOW(), 
				'15:40', '15:53', '16:10', 4, 'Mantenimiento, ajustes, limpieza', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781640587.png', '', null, 'COMPLETADO','LatLng(lat: -22.4602105, lng: -68.9343739)' )
				
[16/06/2026 16:09:47] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200758

16/06/2026 16:09:47 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200758'                    
				WHERE idllamado = 12539			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, dsprint@gmail.com


16/06/2026 16:09:47 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 12539			
				
16/06/2026 16:09:47 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 16:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:48 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:48 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:49 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:09:50 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:09:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:50 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:50] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:51] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:51 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12539
            GROUP BY l.idllamado;
            

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:51 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12539
                

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

[16/06/2026 16:09:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

[16/06/2026 16:09:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:09:56] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:09:56 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:09:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:09:57 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:00] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:00 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:00 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:00 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:01 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

[16/06/2026 16:10:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:10:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:01 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:01] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 12399
            GROUP BY l.idllamado;
            

16/06/2026 16:10:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 12399
                

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:02 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

[16/06/2026 16:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

[16/06/2026 16:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:02 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:02 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:02] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:02 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:02 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:03] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:03 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:08 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:08 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

[16/06/2026 16:10:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:08 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:08 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

[16/06/2026 16:10:08] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:08 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:08 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:08 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:09] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:09 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 - INPUT: {"rutTecnico":"21773342"}
16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

[16/06/2026 16:10:11] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:11 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:11] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:11] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:11 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:11 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:11] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:11 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:12 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13038
            GROUP BY l.idllamado;
            

16/06/2026 16:10:12 - INPUT: {"rutTecnico":"21773342"}
[16/06/2026 16:10:12] Llamados.php->getLlamadosByTecnico: RUT: 21773342 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '21773342'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 16:10:12 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 12399
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => TINTAS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 23/04/2026
            [HoraLlamado] => 10:49
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => MFC-L6700
            [SerieInternaMaquina] => BR2215
            [MarcaMaquina] => BROTHER
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => EFRAIN PACHA
            [RUTTecnico] => 21773342
            [idllamado] => 13038
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -2
            [otrafalla] => INDICA FRANJA NEGRA AL COSTADO DERECHO DE LA HOJA.
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 15/06/2026
            [HoraLlamado] => 11:46
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => ESTUDIO 479S
            [SerieInternaMaquina] => TO3084
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                

16/06/2026 16:10:12 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13038
                
[16/06/2026 17:25:22] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 17:25:22 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 17:25:22] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 17:25:22 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => STUDIO 2000AC
            [FechaLlamado] => 16/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 16/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 16/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 17:25:24 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 17:25:24] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 17:25:24 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 17:25:43 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 17:25:43 detalleLlamadoInstalacion sql: 
SELECT
    (SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
    DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
    TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
    TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
    CONCAT(c.rut, '-', c.dv) AS RutCliente,
    c.rut AS RutClienteSinDV,
    c.razonsocial AS RazonSocial,
    c.correo,
    c.direccion,
    c.ciudad,
    l.prioridad,
    COALESCE(ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA'), 'SIN DEFINIR') AS PrioridadDesc, 
    l.activado,
    l.idfalla,
    l.serieinterna AS SerieInterna,
    m.modelo AS ModeloMaquina,
    l.otrafalla,
    l.coderror,
    l.tipo,
    l.otrotipo,
    l.nombrecontacto,
    l.correocontacto,
    l.telefonocontacto,
	COALESCE(NULLIF(MAX(cm.ubicacion), ''), 'DSPRINT') AS ubicacionmaquina,
	COALESCE(NULLIF(MAX(cm.ciudad), ''), 'ANTOFAGASTA') AS ciudadmaquina,
	COALESCE(NULLIF(MAX(cm.departamento), ''), 'TALLER') AS departamentomaquina,
    COALESCE(MAX(cm.correlativo), 1) AS correlativo,
    f.nombrefalla,                
    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1), ' ', SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
FROM llamados l
    LEFT JOIN clientes c ON l.rut = c.rut
    LEFT JOIN fallas f ON l.idfalla = f.IDfalla
    LEFT JOIN maquinas m ON m.serieinterna = l.serieinterna                    
    LEFT JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                 AND cm.rutcliente = '76121841'
                                 AND cm.estado = 1
    LEFT JOIN usuarios u ON l.tecnicoasignado = u.rut
WHERE
    l.pendiente = 'SI' 
    AND l.idllamado = 13059
LIMIT 1;
        

16/06/2026 17:25:43 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 17:25:43] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 17:25:43 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:26:37 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 18:26:37] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				
[16/06/2026 18:26:37] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 18:26:37 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => STUDIO 2000AC
            [FechaLlamado] => 16/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 16/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 16/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 18:26:38 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:26:38] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:26:39 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:26:49 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:26:49] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:26:49 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:49 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:50 - INPUT: {"rutTecnico":"24456550"}
16/06/2026 18:26:50 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

[16/06/2026 18:26:50] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:26:50 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:50 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:53 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:53 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:54 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:54 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:55 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:55 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:56 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:26:56 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:29:34 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 18:29:34] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 18:29:34 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => STUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 18:29:34] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 18:29:36 - INPUT: {"rutTecnico":"19969062"}
[16/06/2026 18:29:36] Llamados.php->getLlamadosByTecnico: RUT: 19969062 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '19969062'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:29:36 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => BASTIAN RIOS
            [RUTTecnico] => 19969062
            [idllamado] => 12977
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 14:23
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76121841
            [ClienteRazonSocial] => INVERSIONES Y SERVICIOS DIGITALES SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2154
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:29:38 - INPUT: {"rutTecnico":"19969062"}[16/06/2026 18:29:38] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '19969062'
				GROUP BY anio
				ORDER BY anio DESC;
				
[16/06/2026 18:29:38] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 19969062 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '19969062'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 18:29:38 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => STUDIO 3518A
            [FechaLlamado] => 15/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => WF-C869R
            [FechaLlamado] => 15/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => EZ231
            [FechaLlamado] => 15/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => HEIDI PATRICIA CAVIERES ARAYA
            [ciudad] => MARIA ELENA
            [RutCliente] => 12576383
            [ModeloMaquina] => ESTUDIO 4528A
            [FechaLlamado] => 15/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [RutCliente] => 61980920
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 15/06/2026
        )

)

16/06/2026 18:31:16 - INPUT: {"rutTecnico":"24456550"}[16/06/2026 18:31:16] Llamados.php->getLlamadosHistoricosByTecnico: RUT: 24456550 | SQL: 
                SELECT
				CASE ll.prioridad
					WHEN 1 THEN 'ALTA'
					WHEN 2 THEN 'MEDIA'
					WHEN 3 THEN 'BAJA'
					ELSE 'Desconocido'
				END AS PrioridadDesc,
				ll.estado,
				cl.razonsocial AS ClienteRazonSocial,
				cl.ciudad,
				cl.rut AS RutCliente,
				m.modelo AS ModeloMaquina,
				DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado
			FROM llamados ll
			INNER JOIN clientes cl ON cl.rut = ll.rut
			INNER JOIN maquinas m  ON m.serieinterna = ll.serieinterna
			WHERE ll.pendiente = 'NO'
			  AND ll.tecnicoasignado = '24456550'
			ORDER BY ll.fecha DESC
			LIMIT 6;
                

16/06/2026 18:31:16 [LlamadosController.php] - [llamadosHistoricosByTecnicoAction]: Array
(
    [0] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => STUDIO 2000AC
            [FechaLlamado] => 16/06/2026
        )

    [1] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL COLEGIO SAN PATRICIO
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76148340
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [2] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => SOCIEDAD EDUCACIONAL SAN MARCOS SPA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 76464003
            [ModeloMaquina] => M3655IDN
            [FechaLlamado] => 16/06/2026
        )

    [3] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 16/06/2026
        )

    [4] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 78876040
            [ModeloMaquina] => WF6590
            [FechaLlamado] => 16/06/2026
        )

    [5] => Array
        (
            [PrioridadDesc] => ALTA
            [estado] => COMPLETADO
            [ClienteRazonSocial] => FUNDACION EDUCACIONAL COLEGIO SAN AGUSTIN
            [ciudad] => ANTOFAGASTA
            [RutCliente] => 65152162
            [ModeloMaquina] => M2640idw/L
            [FechaLlamado] => 15/06/2026
        )

)
[16/06/2026 18:31:16] [SQL_EXEC] ARCHIVO: [Llamados.php] -> FUNCION: [estadisticasLlamadosByTecnico] | QUERY: 
				SELECT 
					CAST(YEAR(fecha) AS UNSIGNED) AS ANIO,
					CAST(YEAR(fecha) AS CHAR) AS ANIOCHAR,
					CAST(SUM(CASE WHEN estado = 'REPROGRAMADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS REPROGRAMADO,
					CAST(SUM(CASE WHEN estado = 'COMPLETADO' THEN 1 ELSE 0 END) AS UNSIGNED) AS COMPLETADO
				FROM llamados
				WHERE fecha >= DATE_FORMAT(NOW() - INTERVAL 2 YEAR, '%Y-01-01')
					  AND tecnicoasignado = '24456550'
				GROUP BY anio
				ORDER BY anio DESC;
				

16/06/2026 18:32:07 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:32:07] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:32:07 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:32:09 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:09 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:32:09] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:32:09 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:10 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:10 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:32:10] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:32:10 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [8] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13069
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 1
            [idfalla] => -2
            [otrafalla] => FALLA FUSOR,
            [nombrefalla] => Otra falla (Especifique)
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 17:27
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76613923
            [ClienteRazonSocial] => CENTRO MEDICO ANGAMOS SPA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => M3655IDN
            [SerieInternaMaquina] => KY2521
            [MarcaMaquina] => KYOCERA
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:11 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:13 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:13 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:14 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:15 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:16 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:16 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:17 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:18 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:46 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:46 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:47 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:32:47 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:01 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:01 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            
=========================================
FECHA: 16/06/2026 18:33:01
MÉTODO HTTP: POST
CONTENT-TYPE: multipart/form-data; boundary=dart-http-boundary-VOQvuZXJJslPl3XofJeVSrYenYp-w+L359bpRUXl5DvvnzFg10T
>> DETECTADO DATOS EN POST (Form):
{
    "rut": "76613923",
    "serieinterna": "KY2521",
    "correlativo": "1",
    "ddServicio": "Ciudad",
    "ubicacion": "",
    "ciudadmaquina": "",
    "departamentomaquina": "",
    "rutTecnico": "24456550",
    "contador": "113250",
    "contadorColor": "0",
    "contadorScanner": "0",
    "detalle": "•Se reemplaza fusor\n•Se hace mantención de rodillos de alimentación de bandeja\n•Se entrega toner\n•Recepciona Marcelo",
    "tipoServicioMaquina": "1",
    "rbEstado": "Completado",
    "idllamado": "13069",
    "observacion": "",
    "firma": "\/9j\/4AAQSkZJRgABAQAAAQABAAD\/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb\/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEmKzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv\/2wBDAQoLCw4NDhwQEBw7KCIoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv\/wAARCAC0AVYDASIAAhEBAxEB\/8QAGwABAAMBAQEBAAAAAAAAAAAAAAQFBgMCAQf\/xABIEAABAwMBAwgGBQcMAwEAAAAAAQIDBAURBhIhMRNBUWGBkaGxFCIyQnHBFRYjM9EHJDRSc+HwQ1RiY3KSk6KywtLxJVNVo\/\/EABkBAQADAQEAAAAAAAAAAAAAAAABAgMEBf\/EADURAAIBAgMFBQcEAgMAAAAAAAABAgMREiExBEFRYXETIjKh0RQzgZGx4fAjJFLBQkNikvH\/2gAMAwEAAhEDEQA\/AP2YAAAAAAAqLtqOhtTuRcqzVC+zDHvXPX0EpN5IpOcYK8nZFuU1w1VabermuqEmkRPYh9bf0Z4IVvoF91Hl1wldbqJ3CnZ7Tk6\/39xdW+xW22Nb6NSs22\/yr02n9\/N2F7RjqYY6tTwKy4v09So+sF9r1xbLI5jHezLUZRFTp5k8VHoOsKluZLlTU6KnstRMp3N+ZqAMdtET7O34pt+X0Mwtk1Iq5+n+P9FR6Dq+n+7udNO1OZ7Uyv8Al+ZpwRjfAezR3N\/NmW+nNQ2\/dcbNyzGrhZIOjp3Z+XYT7dqu1XBGt5f0eV27k5vV3\/HgpdFdcLDbbmn5xSs2\/wD2MTZdxzxQm8XqiOzrQ8Er8n6osQZN1Bf9OojrdMtwpG8YHplzU6k49PDuLez6hpLuixtzDUtztwv4p285DhldZotCunLDJWf5o95agAodAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMtdrpVXmtWy2dU2cYqKhFyiJwVP44loxxGVWqqau9dy4nu53+qrKx1qsTOUm4SVCezHv34\/HuJtl03SWlEmcnL1bky+Z+\/fz46PMmWq1U1oo209O3re9eL16VJpLllaOhnCi28dTN+S6eoABQ6QAAAAAAAAAUl603BclSppneiVrF2mzRpjaXrx58S7BKbTuik6caiwyRnrNfZUqfom8fZVzFw16phJejHX5mhKu+WOnvNNsv9SdiZilTi1evqIWnbxO+Z9nueW11MmEc5fvWpz9a4x8U39JdpSV0YQnKnJU56PR\/wBPn9TQgAzOoAAAAAAAAAAAAAAAEejrqWviWWkmbMxHbKub09Hih3VURMquEQyf5P1X6Pq28ySovgWUbxbMZ1HGpGHG\/ka0AFTYAAAAAAAAAAAAAAAAFZf7wyzW10\/GV\/qRN6XY4r1ISk27IrOahFyloiu1LdJpZW2O2ZdWT421auNhvHjzbvAtbPaYLPQMpokRXYzI\/G97ukg6as0lFE6urtp1wqcrI5y5VqZ4eCKv7i9LyaSwowowcn2s9XpyXrxAAMzpAAAAAAAAAAAAAAABQamtEtTE240CrHXUvrIreL2pvx8ejuL8ExbTuZ1KaqRcWVtiu8d5tzahqI2RPVlYi+y78CyMjdIZNMXlt2pGr6FUu2aiJODV6fmnXlOc1jHtkjbIxyOa5EVqpzoWklqtDOjUbvCfiX5c9AAodAAAAAAAAAAAABHr3rHbql6cWwvXwUzP5P8A9Bq\/2qeRobxI2Gy1r3cEgf34XBnvyf8A6DV\/tU8jWPu2cVR\/uoLkzXAAyO0AAAAAAAAAAAAAAA5zTRU8L5pnoyNiZc5y7kQy1nhk1Ld3XurZilgXYp4lXnTn\/jn+B11E+pu10gsFNtNjVEkqnJj2cp5eaoaOmp4qSlipoW7McTUa1OpDTwx5s5H+tUt\/jHzf2OoAMzrAAAAAAAAAAAAAAAAAAAAAI9dRxXCilpJ0zHK3C9XQvYu8odJ1ksDqix1a\/bUaryf9Juf39ymmMvqiF1trqS\/07F2on7E6J7zebPinahpDPunLXWBqqt2vT7amoB5jkbLG2Ri5a9Eci9KKejM6gAAAAAAAAAAACo1XIsWmqxyJnLWt73InzKj8n\/6DV\/tU8ifrV2zpyVMe1IxPHPyIP5P0X0CrXG7lU8jZe6Z503fbYrl6mtABieiAVd7vtPZoURycrUyfdQt4u\/BCpfedR0USXCst8foir60TfbYnT\/30l1BtXMJ7RCDtw1tu6mqBHoa6nuVIyqpn7Ub07UXnReskFNDZNNXQAAJAAAAAAPOy3b29lNrGM434PQAAAAAAAAAAAAAAAAAAAAAAAAAAIl1om3G11FI5M8oxUbvx63FPFEJYJTtmRJKSaZQaMq3VNhZE\/O3TPWNc8ccU88dhfmX06noupr1SfrPSRE47sqv+5DUFqniMNmbdJJ7svlkAAUOgAAAAAAAAAy2vptm0QRJ78+c9SIv4nTQsPJ2J0i\/yszlT4IiJ8lK78oM2ZKGHoR7l684T5Kaiy0foFmpaZUw5kabSf0l3r4qps8qSR50Fi2yUuCJxDulxitVvkq5s4YmERE3uVeCEwydei6i1WyhTDqKg3zb0Xadzp3ojereZxV3mdVeo4R7uryRI07aZZ5Ppu6pt1k2+NrkxybeZcdPR0Jg0bmo5qtciKiphUXnPoEpNu5enTVOOFf8Apk6Rr9L6jSjV3\/j7gqrEq+47o8UT4KhrCDdLTS3eBkVTtokb0e1zFwqL8ScTJ4rPeUpU3Tbju3AAFDcAAAAAAAAAAAAGYuepK5lxqIrZTxzw0LdqpVV37l3p2b+ktr7cvoq0T1Sb5ETZjTHvLuT8ewi6WtvoNmY6VFWaq+1k2uO\/gi7+g0ikliZy1XKc1Tg7b2\/oWNtr4rnQRVcW5sicM5wvBUJRl9Pq60X2rscibML1WWnVV9pOjr3f6VNQVkrPI0ozc4XeqyfUApmamopb2lrhR8rl3coxEVqO6M5LkhprUvCcZ3wu9gACC4AAAAAAAAAAABmLTv1zdlTeiRomf7pYXO8yW670NI6JvI1a7KyKu9Fzj5p3ldpP86uN3uOctln2WLx3ZVePwVCXq+3urbMssTczUruVbjjhOPhv7DZ2x2ZwQcls7nDW7fmXoINmuCXS009ZjDpG+snQ5Ny+KE4yas7HbGSklJbwACCwAAAAI1wrobbQy1c7kRsbVVEzjaXmROtQsyG0ldmXu1Ol015S0yrlkEbVeiLwxl3jlO82JgtIumq9VTVNQuZXQulVc\/rK3h2Kb01qZNI49jampVOLK6+3L6KtE9Um+RE2Y0x7y7k\/HsI2lbctBZ2Pkzy1T9rIrs538M7ytvT3X3UtNZolzBTLytQvFM\/9Lj4uNYQ+7G3EvD9Ss57o5Lrv9AADM6gAAAAAAAAAAAAAAAAADLXfbvuo6e1Na\/0Wl+1nVWqiOXtTHV2qak+bKbSuwmVTCqfSzd0kZU6eFyk3dspr7ZZrjLT1dFM2Cspl9R7uGM8+5c4395AfZNQXTEV0ujI6f3mQJhXdS7k8e41AJU2kUls8JSbd89c8mYu2W6ko9buhpmq2KhgVznufnerUyq\/3jYQzw1MSSwSsljXg5jkci9qGJrK5tru9\/wBt6JLLEjYkTiqux5IuTS6ZpFo9P0sbmq17m7bkXjly58sF6iyTZz7LJKThFcX0zsi1ABiegAAAAAAAAADy9iSRuYucORUXB6ABAs9qhs1ClLC5z02lc5zkTKqvw+BOVEVMKmUU+glu7uysYqKwrQyen3usl9qbFM77KReUp1Xy7U8jWFBqu2PqaNtfS5bWUa7bHM4q3nTs49\/SWNnubLtbIqtiI1XJh7U91ycULy7yxHPR\/Tk6T6rp9icADM6gAAD4qoiZVcIhkap7tXXttJC5y2ukXMr28Hu38F6+CdqnW93GW+Vf0FaXbSKv5zOirstROKfDz4F9bLZTWmjbTUzMNTe5y8Xr0qaruK+845Pt5YV4Vrz5epR2JqP1fd5GoiNYiRoibkTgn+0v7jWMt9vmq5FRGxNzv6eCeOCh0iivrrzUKmOVqeHa5fmc9Syvu94pNP07lRu0klQ5PdT9yZXtQlq87FIVMGz4lq27dWyTo63vht77jULtVNc7bc5eOznd3rle1DRHljGxxtYxMNaiIidCHozk8TuddKmqcFFAAFTQAAAAAAAAAAAAAAAAAAAAAAAArqixW6ruDK6anR0zVRc8zlRN2enBYgEttlVGMW2lqAAQWAAAAAAAAAAAAAAABkJmP0hePSYmvW1VS4exN\/Ju\/jw3GvOc8EVTC+GeNskb0w5rkyiloysY1aWNJp2a0EM0VRCyaF6PjemWuau5UOhmF0rXUTnJaLxLTwuXPJPyqJ\/HwDtL3OpylXqCocxfcbnt5\/kWwx4mfa1dHTz6qxc195t1tbmrqmMXmam9y9ibyglrrxqeRYLcx1FQcHVDuL0\/jmTtUsqHSNponJI6F1TIi5253bXhw8C6RERMImEQXjHQOFWr43ZcF6+hBtVopLPSpDTM9ZfbkX2nr1\/gTwCjbebOiMVFWisjItivVgqqynoKBKqGqer4XtTdGq9PZ09HWWmn7K+3MfV1j+Vr6jfK\/Occ+C6BZzbRjDZ4xle97acgACh0AAAAAAAAAGdul1uFjuzaip+2tc2G+q1MxL\/HeaBj2yRtkY5HNciK1U50OVZRwV9LJTVDEfHImFT5p1maslbLYLgtiuLvs3LmlmXgqKvDt8FNLKSy1RyuTpVO8+6\/J+hrAAZnUAAAAAAAAAAAAAAAAAAAAAD45yNarnKiIiZVV5imumqbfbVWJjvSqngkUS539CrzefUVrbVfNQv27tOtFRquUp41w5U6\/wB\/cXUN7yOeVdXwwWJ\/mrJVfqpi1HoVnhWvql3ZZ7DevPP5dZbWv0\/0Fn0lyfpGVzyfDHN2n2gtlHbIUipIGxpje7HrO+K85LIbWiRNOFS+Kb+G4AAqbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArL9Zor1b3Qu3TMy6J\/Q78FLM5zzw00Syzysijbxc9cIhKbTuik4xlFqWhTaZuz6yCShq\/VrKRdl6KnFE3Ivy\/wCwQLG5101NcLpTt5OlcxGNcuU213JncqfqqvanSC80kzHZ5SlTzz58TWAAzOkAAAAAAAAAAHGoqqekj5SpnjhZ+tI5Gp4ghtLNnYGcqtZ0KOWK3wzV02NyRsVG\/j4HBafU97k+3k+iqVfdYvrqnZv78fAvge\/I53tMW7Q7z5euhbXTUVutKK2ebblT+Sj3u7ejtKdJdQakXZjb9GUDk3v996dXOvghZ2zS1strklSNaibjyk3rKi9ScE8y5JxRjoR2dWp7x2XBf2ystWn7fZ02qeLalxhZX73L+HYWYBRtvNnRCEYK0VZAAEFgAAADy97I27T3I1OlVwQKi\/2imRVluEG7ijHbS9yZJSb0KynGPidixBlazXtFFltJTyVC9Ll2G\/NfAqH6s1BcPVo4Nj9hCr18cmipSZyT26jF2Tv0P0Er6q+2qi+\/roWrnCta7aVOxMqYiS16rubV5aOqe1c+rJKjU7lVDvSaVvUOEShokcnvzKj89m9PAt2cVqzJ7XVl4Kb+P5\/Zdy64tyKrKaCpqH8yNZhF+fgeFv2oqtPzKwrFng6dV4duyeYrTqtrNllwo6dn6kUaJjuYevq\/qCVczahezPHk0X8UFoLgRi2iWt\/gkvq2ffRtY1W91bTUjV4tREVU\/wAq+fOPqxeJd82pKlFXi1iOx\/qTyH1Rq3\/f6grJM8eO\/vcoXQ9K\/wC8uFY\/Ptesm\/wGJbn5E9lN6wb6y9D47SMmynL36rVEXdl2Md6nN2lKZuEkv06IvMsiJnxOzdB2lq5Ward1K9v\/ABOjdD2duc8u74yfggxr+XkPZ2\/9a\/7Mk2egt9mbKkVxWZZVTPKTIuMdCFl6bSfzqH\/EQpl0TZlXKsmVV\/rFPn1Is36k3+IUeFu7ZvDtoLDGCt1+xcrXUbUy6rgROlZEObrtbWY2rjStz0zNT5lWmibKi5WKVepZFOjdHWJuc0bnfGV\/yUi0OJbFtH8V836E\/wCmrV\/9Oj\/x2\/icZdSWaJcOuMK\/2F2vI4fVCw\/zD\/8AZ\/8AyOsWmbLD7NviXdj18u81J7nMfuf+PmRJdbWWP2ZZZd\/uRr88EdNatn\/QbTV1C9GMeWTQRUFFT\/c0kEf9iNE8iQLw4DBXes0ui9TLpdNU16bNLaWUiLuV867068LjyU9R6Vnr5UnvtwkqXIiYiYuy1Fxv\/hEQ0wIx20Vh7On7xuXXT5HOCCKmiSKGNsbG8GtTAOgKHSlYAAAAAAAAA4VlSlHRy1KxySpG3OxG3Ll+CGf+st3qt1DYJt\/B8qqieSc3WacFk0tUZVITk8pWRl\/RtX3BftqqCgYvFseFXwyvidINF0izcvcKqeulzlVe7CL8eK+JpAT2j3ZGa2anrK8ur\/ER6ShpaGNI6WnjhaiY9VuM\/FeckAFDoSSVkADnPPDTRLLPKyKNvFz1wiAlux0BmLhrmgpvVoo3Vbunexqdqple4oJtSagvD1ipUexF9yljXPfvXxNVSk+RxVNupRdlm+R+gVFXTUjNupqI4W9L3o3zKSr1taKfdE6WoX+rZhO9cGZp9IXyvckk7Ui2t+1PJvXsTK95d0egaSNUdWVUk2PdYmwnbxXyLYacdWZdttVTwQsuZX1Wvq2VdmkpIos7kV6q9fkc4XavvGFZJURxu3o\/KQtx2YVezJsqKy2234Wmo42OTHrqmXcMcVJxHaRXhRZbLVnnVqP4GLg0LU1C8pcbkquzlUYiuXr3r+Bc0mkLNSYVadZ3JzzO2vDh4F2CrqSe83hslGGaj88yNFbqGBUWGip41T9SJqfIkgGZ0JJaAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfdrLS3qKOOqV6JG7aRWKiLwx0AFo6mVZJwaZHpdKWWlwqUbZXJzyqr89i7vAto42RMRkbGsanBGphEAEm28yacIxj3VY9AAqaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH\/2Q==",
    "razonSocial": "CENTRO MEDICO ANGAMOS SPA",
    "nombreTecnico": "JOHANN GUERRERO",
    "nombreContacto": "VIANCA ANGAMOS",
    "correoContacto": "tecnico@dsprint.cl",
    "correoCliente": "micorreo@miempresa.cl",
    "correoDsprint": "donkhapone@outlook.com",
    "tipo": "CORREO",
    "otroTipo": "sin otroTipo definido",
    "idFalla": "-2",
    "otraFalla": "FALLA FUSOR,",
    "codError": "Sin coderror",
    "prioridad": "1",
    "telefonocontacto": "984818954",
    "listaInsumosUsadosConsolidado": "[{\"id_inventario\":\"KYO-R808\",\"id_control\":\"29053\",\"cantidad_usada\":1,\"cantidad_asignada\":1},{\"id_inventario\":\"KYO-I647\",\"id_control\":\"29053\",\"cantidad_usada\":1,\"cantidad_asignada\":1}]",
    "horaSalida": "18:33",
    "ubicacionGPS": "LatLng(lat: -23.6646447, lng: -70.40329)",
    "horaLlegada": "18:19",
    "horaDespacho": "08:00",
    "idMovimientoMaquina": "4",
    "idEstadoRetiro": "null",
    "observacionRetiroMaqExterna": "",
    "idReportManual": "null"
}
==========DATOS ENVIADOS===============================


16/06/2026 18:33:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        
16/06/2026 18:33:01 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 1
		        ====revisando rut=====================================
rut:76613923

[16/06/2026 18:33:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | QUERY: 
				INSERT INTO reports(rut, serieinterna, correlativo, tecnico, 
				contador, fecha, horadespacho, horallegada, horasalida, movimiento, detalle, 
				estadoretiro, observacionretiro, observacionmaqext,idTipoServicioMaquina, 
				contadorColor, contadorScanner, idreportlugarservicio, rutaFirma, 
				observacion, idreportmanual, estadoCierre, ubicacionGPS)
				VALUES('76613923', 'KY2521', 1, 24456550, 113250, NOW(), 
				'08:00', '18:19', '18:33', 4, '•Se reemplaza fusor
•Se hace mantención de rodillos de alimentación de bandeja
•Se entrega toner
•Recepciona Marcelo', -1, 
				'', '','1','0',
				'0',1,'../csj.digital-service.cl/uploads/firmas/firma_0_1781649181.png', '', null, 'COMPLETADO','LatLng(lat: -23.6646447, lng: -70.40329)' )
				
[16/06/2026 18:33:01] [SQL_EXEC] CREAR REPORT ARCHIVO: [Reports.php] -> FUNCION: [createReports] | IDNUEVOREPORT: 200759
[16/06/2026 18:33:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200759', 'KYO-R808', 1)
				
[16/06/2026 18:33:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29053 and
				    IDproducto = 'KYO-R808'
				

16/06/2026 18:33:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-R808';
                [16/06/2026 18:33:01] [SQL_EXEC] CREAR REPORT PRODUCTO ARCHIVO: [Reports.php] -> FUNCION: [agregarProducto] | QUERY: 
				INSERT INTO reportinventario(idreport, IDproducto, cantidad)
				VALUES('200759', 'KYO-I647', 1)
				
[16/06/2026 18:33:01] [SQL_EXEC] ACTUALIZAR CONTROLINVENTARIO PRODUCTO USADO ARCHIVO: [Reports.php] -> FUNCION: [actualizarProductoControlInventario] | QUERY: 
				UPDATE controlinventario 
				    SET cantidadocupada = 1
				WHERE
				    IDcontrol = 29053 and
				    IDproducto = 'KYO-I647'
				

16/06/2026 18:33:01 actualizarStock sql: 
                UPDATE inventario
                    SET contteorico = (contteorico - 1)
                WHERE ID = 'KYO-I647';
                
16/06/2026 18:33:01 sql: 
				UPDATE llamados
				SET pendiente = 'NO', 
                    report = '200759'                    
				WHERE idllamado = 13069			
				TO ENVIO: micorreo@miempresa.cl, tecnico@dsprint.cl, donkhapone@outlook.com


16/06/2026 18:33:02 sql: 
				UPDATE llamados
				SET 
				    estado = 'COMPLETADO' 
				WHERE idllamado = 13069			
				
16/06/2026 18:33:02 getValor en Configuraciones sql: 
				SELECT valor 
				FROM configuraciones
				WHERE idconfiguracion = 5
		        TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com

TO ENVIO: tecnico@dsprint.cl, earevalo@dsprint.cl, jmquinterosd@outlook.com, backupdsprint@gmail.com


16/06/2026 18:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:02 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:03 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:23 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:33:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:33:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:33:23 - INPUT: {"rutTecnico":"24456550"}
[16/06/2026 18:33:23] Llamados.php->getLlamadosByTecnico: RUT: 24456550 | SQL: 
                SELECT
                    CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico,
					u.rut AS RUTTecnico,
					ll.idllamado,
					ll.tipo,
					ll.otrotipo,
					ll.coderror,
					ll.prioridad,
					ll.activado,
					ll.idfalla,
					ll.otrafalla,
					f.nombrefalla,
					DATE_FORMAT(ll.fecha, '%d/%m/%Y') AS FechaLlamado,
					DATE_FORMAT(ll.fecha, '%H:%i') AS HoraLlamado,
					CASE 
						WHEN ll.prioridad = 1 THEN 'ALTA'
						WHEN ll.prioridad = 2 THEN 'MEDIA'
						WHEN ll.prioridad = 3 THEN 'BAJA'
						ELSE 'Desconocido'
					END AS PrioridadDesc,
					CASE 
						WHEN ll.prioridad = 1 THEN '#C4452D' -- Rojo
						WHEN ll.prioridad = 2 THEN '#EE8E3A' -- Naranja
						WHEN ll.prioridad = 3 THEN '#EDD939' -- Amarillo
						ELSE '#FFFFFF'
					END AS PrioridadFondo,
					cl.rut AS RutCliente,
					cl.razonsocial AS ClienteRazonSocial,
					cl.ciudad,
					m.modelo AS ModeloMaquina,
					ll.serieinterna AS SerieInternaMaquina,
					mm.nombremarca AS MarcaMaquina,
					tm.tipo AS TipoMaquina
				FROM llamados ll
				LEFT OUTER JOIN clientes cl      ON cl.rut = ll.rut
				LEFT OUTER JOIN usuarios u       ON u.rut = ll.tecnicoasignado
				LEFT OUTER JOIN maquinas m       ON m.serieinterna = ll.serieinterna
				LEFT OUTER JOIN marcasmaquina mm ON mm.ID = m.marca
				LEFT OUTER JOIN tiposmaquina tm  ON tm.ID = m.tipomaquina
				LEFT OUTER JOIN fallas f         ON ll.idfalla = f.IDfalla
				WHERE ll.pendiente = 'SI'
				  AND ll.tecnicoasignado = '24456550'
				ORDER BY ll.ordenrutatecnico ASC;
                

16/06/2026 18:33:23 [LlamadosController.php] - [llamadosByTecnicoAction]: Array
(
    [0] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12775
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => INSUMOS
            [prioridad] => 1
            [activado] => 0
            [idfalla] => -1
            [otrafalla] => 
            [nombrefalla] => Código (Especifique)
            [FechaLlamado] => 27/05/2026
            [HoraLlamado] => 14:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 15333221
            [ClienteRazonSocial] => DIEGO NICOLAS MEJIAS LARRAIN
            [ciudad] => MEJILLONES
            [ModeloMaquina] => ESTUDIO 3528A
            [SerieInternaMaquina] => TO2906
            [MarcaMaquina] => TOSHIBA
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [1] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12897
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:56
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2356
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [2] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12898
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:57
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF-6590
            [SerieInternaMaquina] => EP2396
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [3] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12901
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 9
            [otrafalla] => 
            [nombrefalla] => Mantención
            [FechaLlamado] => 04/06/2026
            [HoraLlamado] => 14:58
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 79626800
            [ClienteRazonSocial] => SQM SALAR S.A
            [ciudad] => LAS CONDES, SANTIAGO
            [ModeloMaquina] => WF6590
            [SerieInternaMaquina] => EP2471
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [4] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 12964
            [tipo] => WHATSAPP
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 10/06/2026
            [HoraLlamado] => 08:34
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 76132593
            [ClienteRazonSocial] => GESTA SERVICIOS A LA MINERIA SPA.
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C869R
            [SerieInternaMaquina] => EP2087
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [5] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13003
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3044
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [6] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13004
            [tipo] => CORREO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 15
            [otrafalla] => 
            [nombrefalla] => Entrega de Insumos
            [FechaLlamado] => 11/06/2026
            [HoraLlamado] => 16:10
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 61980920
            [ClienteRazonSocial] => SOCIEDAD LOCAL DE EDUCACION PUBLICA DE LICANCABUR
            [ciudad] => CALAMA
            [ModeloMaquina] => WF-5891
            [SerieInternaMaquina] => EP3015
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

    [7] => Array
        (
            [NombreTecnico] => JOHANN GUERRERO
            [RUTTecnico] => 24456550
            [idllamado] => 13059
            [tipo] => ADMINISTRATIVO
            [otrotipo] => 
            [coderror] => 
            [prioridad] => 1
            [activado] => 0
            [idfalla] => 12
            [otrafalla] => 
            [nombrefalla] => Instalación
            [FechaLlamado] => 16/06/2026
            [HoraLlamado] => 10:04
            [PrioridadDesc] => ALTA
            [PrioridadFondo] => #C4452D
            [RutCliente] => 78876040
            [ClienteRazonSocial] => TRANSPORTES Y SERVICIOS MERCOSUR Y COMPANIA LIMITADA
            [ciudad] => ANTOFAGASTA
            [ModeloMaquina] => WF-C5891
            [SerieInternaMaquina] => EP3167
            [MarcaMaquina] => EPSON
            [TipoMaquina] => MULTIFUNCIONAL
        )

)

16/06/2026 18:33:23 detalleLlamado sql: 
            SELECT
				(SELECT valor FROM configuraciones WHERE idconfiguracion = 4 LIMIT 1) AS correoDsprint,
                DATE_FORMAT(l.fecha, '%d/%m/%Y') AS FechaLlamado,
                TIME_FORMAT(l.fecha, '%H:%i') AS HoraLlamado,
                TIME_FORMAT(l.fecha_hora_activacion, '%H:%i') AS HoraActivacion,
                CONCAT(c.rut, '-', c.dv) AS RutCliente,
				c.rut AS RutClienteSinDV,
                c.razonsocial as RazonSocial,
                c.correo,
                c.direccion,
                c.ciudad,
                l.prioridad,
                ELT(l.prioridad, 'ALTA', 'MEDIA', 'BAJA') AS PrioridadDesc, 
                l.activado,
                l.idfalla,
                l.serieinterna as SerieInterna,
                m.modelo as ModeloMaquina,
                l.otrafalla,
                l.coderror,
				l.tipo,
				l.otrotipo,
                l.nombrecontacto,
                l.correocontacto,
                l.telefonocontacto,
                MAX(cm.ubicacion) AS ubicacionmaquina, 
                MAX(cm.ciudad) AS ciudadmaquina, 
                MAX(cm.departamento) AS departamentomaquina, 
				MAX(cm.correlativo) AS correlativo,
                f.nombrefalla,     
                CONCAT(SUBSTRING_INDEX(TRIM(u.nombre), ' ', 1),' ',SUBSTRING_INDEX(TRIM(u.apellidos), ' ', 1)) AS NombreTecnico                
            FROM llamados l
                LEFT OUTER JOIN clientes c ON l.rut = c.rut
                LEFT OUTER JOIN fallas f ON l.idfalla = f.IDfalla
                LEFT OUTER JOIN maquinas m ON m.serieinterna = l.serieinterna
                LEFT OUTER JOIN clientemaquina cm ON cm.serieintmaquina = l.serieinterna 
                                             AND cm.rutcliente = c.rut
                                             AND cm.estado = 1
                LEFT OUTER JOIN usuarios u ON l.tecnicoasignado = u.rut
            WHERE
                l.pendiente = 'SI' 
                AND l.idllamado = 13069
            GROUP BY l.idllamado;
            

16/06/2026 18:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:23 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                

16/06/2026 18:33:24 listadoInsumosPorLlamado sql: 
                SELECT 
                    i.modelo,
                    i.descripcion,
                    i.numparte,
                    i.codinterno,
					i.ID,
                    cs.idllamado,
                    cs.serieinterna,
					ci.IDcontrol,
                    ci.cantidad AS cantidadasignada,
                    ci.cantidadocupada,
                    ci.IDproducto
                FROM controlsalida cs
                INNER JOIN controlinventario ci 
                    ON cs.idcontrol = ci.IDcontrol
                INNER JOIN inventario i
                    ON ci.IDproducto = i.id
                WHERE cs.idllamado = 13069
                
